铺地毯,求看

P1421 小玉买文具

@[zhz_94me](/space/show?uid=101042) 哪到
by 初嫁QAQ @ 2018-07-15 12:41:13


@[zhz_94me](/space/show?uid=101042) #include<cstdio> using namespace std; int a[128],b[128],c[128],d[128]; int main() { int i,b,n,x,y; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]); if ((a[i]<=x)&&(b[i]<=y)&&(a[i]+c[i]>=x)&&(b[i]+d[i]>=y)) b=i; else b=-1; } printf("%d",b); return 0; } 错误,。。。
by 初嫁QAQ @ 2018-07-15 13:23:07


``` #include <cstdio> using namespace std; int a[128],b[128],c[128],d[128]; int main() { int i,b,n,x,y; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d %d %d %d",&a[i],&b[i],&c[i],&d[i]; if((a[i]<=x)&&(b[i]<=y)&&(a[i]+c[i]>=x)&&(b[i]+d[i]>=y; b=i; else b=-1; } printf("%d",b"); return 0; } ```
by zhz小蒟蒻 @ 2018-07-15 13:47:58


有些小地方打错了,不要在意那些细节
by zhz小蒟蒻 @ 2018-07-15 13:48:32


@[刘素质](/space/show?uid=102028) 你不应该将判断放在循环中,因为x和y还没有输入,再者,你这个判断不对应该是: ``` if(x>=a[i] && x<=a[i]+c[i] && y>=b[i] && y<=b[i]+d[i]) b=i; ``` 然后将b事先等于零,如果在循环结束后,b仍然等于0,就输出-1,否则输出b的值 你看一下这样改对不对
by zhz小蒟蒻 @ 2018-07-15 13:55:19


@[zhz_94me](/space/show?uid=101042) if是对的
by 初嫁QAQ @ 2018-07-15 14:07:04


@[zhz_94me](/space/show?uid=101042) 为什么总是输出的是-1,而不是编号
by 初嫁QAQ @ 2018-07-15 14:11:00


``` @[刘素质](/space/show?uid=102028) 你不是在铺地毯通过了吗? 你可以发私信给我,我帮你调试 ```
by zhz小蒟蒻 @ 2018-07-15 14:13:46


不过现在可能没时间,我在做八皇后
by zhz小蒟蒻 @ 2018-07-15 14:14:22


@[刘素质](/space/show?uid=102028) ``` #include<cstdio> using namespace std; int a[10001],b[10001],c[10001],d[10001]; int main() { int i,e=0,n,x,y; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]); } scanf("%d%d",&x,&y); for(i=1;i<=n;i++) { if ((a[i]<=x)&&(b[i]<=y)&&(a[i]+c[i]>=x)&&(b[i]+d[i]>=y)) e=i; } if(e) printf("%d",e); else printf("-1"); return 0; } ``` 代码帮你改好了,先将e初始化为0 在外面判断
by zhz小蒟蒻 @ 2018-07-15 14:29:37


上一页 |