按照输入xy开数组,是82分(测试点4.5WA)
#include <iostream>
using namespace std;
int main()
{
int x, y, i;
cin>>x>>y>>i;
int data[y][x] = {{0}};
int zb[i][4];
int cnt = 0;
for(int j=0; j< i; j++)
{
cin>>zb[j][0]>>zb[j][1]>>zb[j][2]>>zb[j][3];
for(int m = zb[j][0]-1; m < zb[j][2] ;m++)
for(int n = zb[j][1]-1; n < zb[j][3];n++)
if(data[n][m] == 0) {data[n][m] = 1; cnt++; }
}
cout<<cnt;
return 0;
}
然后把数组改成1000就100分了,不理解是为什么
#include <iostream>
using namespace std;
int main()
{
int x, y, i;
cin>>x>>y>>i;
int data[1000][1000] = {{0}};
int zb[i][4];
int cnt = 0;
for(int j=0; j< i; j++)
{
cin>>zb[j][0]>>zb[j][1]>>zb[j][2]>>zb[j][3];
for(int m = zb[j][0]-1; m < zb[j][2] ;m++)
for(int n = zb[j][1]-1; n < zb[j][3];n++)
if(data[n][m] == 0) {data[n][m] = 1; cnt++; }
}
cout<<cnt;
return 0;
}