头一回问问题 我把题的图片传上面来了 下面是我的代码 帮我看看为啥是wrong anwser 能改一下吗
int main()
{
int T; cin>>T;
while(T--)
{
int n,m; cin>>n>>m;
int flag[101][101];
for(int x=1;x<=n;x++)
{
int y;
cin>>y;
flag[x][y]=1;
}
while(m--)
{
int ans=0;
int x0,y0,x1,y1; cin>>x0>>y0>>x1>>y1;
for(int j=min(y0,y1);j<=max(y0,y1);j++)
for(int i=min(x0,x1);i<=max(x0,x1);i++)
if(flag[i][j]==1)
{
ans++;
break;
}
printf("%d\n",ans);
}
}
return 0;
}
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int T;
cin >> T;
while (T--)
{
int n, m;
cin >> n >> m;
int flag[101][101];
memset(flag,0,sizeof(int)*101*101); //用 memset设置下数组的初始值,否则数组的初始值是随机的,其中可能会有1
for (int x = 1; x <= n; x++)
{
int y;
cin >> y;
flag[x][y] = 1;
}
while (m--)
{
int ans = 0;
int x0, y0, x1, y1;
cin >> x0 >> y0 >> x1 >> y1;
for (int j = min(y0, y1); j <= max(y0, y1); j++)
for (int i = min(x0, x1); i <= max(x0, x1); i++)
if (flag[i][j] == 1)
{
ans++;
break;
}
printf("%d\n", ans);
}
}
return 0;
}