NOI 1.9编程基础之顺序查找 14题
题目在http://noi.openjudge.cn/ch0109/14/
我的思路是想令一个大的二维数组=0,将铺到的地方+1,最后输出改点的二维数组
不过好像数组里放不下那么大的数
#include
using namespace std;
int main(){
int n;
cin>>n;
int i,l,k;
int a[n][4];
for(i=0;i>a[i][l];
}
}
int b[300][300];
for(i=0;i<300;i++){
for(l=0;l<300;l++){
b[i][l]=0;
}
}
for(i=0;i[i][3];k++){
for(l=0;l[i][2];l++){
b[a[i][1]+k][a[i][0]+l]+=1;
}
}
}
int x,y;
cin>>x>>y;
if(b[x][y]==0) b[x][y]-=1;
cout<[x][y];
}
用结构体存地毯的信息,用数组不方便,放入地毯后,逐个地毯判断是否包含输入的点即可
typedef struct StInfo{
int x,y; //左下角的坐标点
int w,h; //宽度和高度
}