#include<iostream> #include<cmath> #include #include<queue> #include<string> #include<vector> #include<algorithm> usingnamespacestd; structcarpet { inta,b; intc,d; }s[10005]; intmain() { inti,j,x,y,n,g,k,flag=0; cin>>n; for(i=1;i<=n;i++) { cin>>s[i].a>>s[i].b;...
上代码: #include <iostream>#include<cstdio>usingnamespacestd;constintM =10001;intn,x0,y0,ans;boolflag;structnode {intx,y,r,c; }e[M];intmain() { scanf("%d",&n);for(inti=1; i<=n; i++) scanf("%d%d%d",&e[i].x,&e[i].y,&e[i].r,&e[i].c); scanf("%d%d",&x0...
程序没有错。可能的问题是:不清楚地毯铺设的最大坐标。若是超过了1999,你的程序就数组越界了。第二,这程序的时间复杂度稍大了些。可以把这些数据放入一个4*n的二维数组中,全部读入数据后,从n往回检查,若坐标位于一个地毯的覆盖范围之内,就结束查找,输出该数据的编号;否则全部查找失败后,仍未...