SSL

xiaoxiao2021-02-28  33

题意:

    给出几个棒子的坐标,它们的下面都要有支柱支撑,我们要求支柱的最小长度。例

思路:

    从一个平台往下枚举,答案加上它需要支柱的长度。

代码:

#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); }

转载请注明原文地址: https://www.6miu.com/read-2626198.html

最新回复(0)