头一回问问题 我把题的图片传上面来了 下面是我的代码 帮我看看为啥是wrong anwser 能改一下吗

img

img

头一回问问题 我把题的图片传上面来了 下面是我的代码 帮我看看为啥是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;
}