NOI 1.9编程基础之顺序查找 14题
题目在http://noi.openjudge.cn/ch0109/14/
我的思路是想令一个大的二维数组=0,将铺到的地方+1,最后输出改点的二维数组
不过好像数组里放不下那么大的数
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int i,l,k;
int a[n][4];
for(i=0;i<n;i++){
for(l=0;l<4;l++){
cin>>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<n;i++){
for(k=0;k<a[i][3];k++){
for(l=0;l<a[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<<b[x][y];
}