全WA求助
查看原帖
全WA求助
548568
宙空Starsky楼主2022/7/8 09:30
#include<bits/stdc++.h>
using namespace std;
bool a[1001][1001];
queue<pair<int,int>> q;
int dx[4]={0,1,0,-1};
int dy[4]={-1,0,1,0};
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        string t;
        cin>>t;
        for(int j=0;j<n;j++)
        {
            if(t[j]=='0')
            {
                a[i][j+1]=0;
            }
            else
            {
                a[i][j+1]=1;
            }
        }
    }
    memset(a,true,sizeof(a));
    for(int i=1;i<=m;i++)
    {
        int s=1;
        int x,y;
        cin>>x>>y;
        q.push(make_pair(x,y));
        while(!q.empty())
        {
            int xx=q.front().first;
            int yy=q.front().second;
            for(int j=0;j<4;j++)
            {
                int u=xx+dx[j];
                int v=yy+dy[j];
                if(u>n||u<1||v<1||v>n||a[u][v]||a[u][v]==a[xx][xx])
                {
                    continue;
                }
                a[u][v]=1;
                q.push(make_pair(u,v));
                s++;
            }
            q.pop();
        }
        cout<<s<<endl;
    }
    return 0;
}
//memset(flag,true,sizeof(flag));

求大佬找错,谢谢!

2022/7/8 09:30
加载中...