题意:
给出几个棒子的坐标,它们的下面都要有支柱支撑,我们要求支柱的最小长度。例
思路:
从一个平台往下枚举,答案加上它需要支柱的长度。
代码:
#include<cstdio>
int n,h[101],x[101],y[101],l,r,ans;
int main()
{
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%d%d%d",&h[i],&x[i],&y[i]),x[i]++;
for (int i=1;i<=n;i++)
{
l=r=0;
for (int j=1;j<=n;j++)
if (i!=j&&h[j]<h[i])
{
if (h[j]>l&&x[i]>=x[j]&&x[i]<=y[j]) l=h[j];//这里枚举当前平台的左边最靠近哪一个平台的长度
if (h[j]>r&&y[i]>=x[j]&&y[i]<=y[j]) r=h[j];//右边的
}
ans+=h[i]-l+h[i]-r;//用原来需要的支柱长度减去下面有的平台的长度
}
printf("%d",ans);
}