大型RE现场
查看原帖
大型RE现场
1238545
kkksc83楼主2024/10/19 11:16

为啥我会RE

#include <bits/stdc++.h>
using namespace std;;
int n,m;
char a[503][503];
const int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int dfs(int r,int c)
{
    a[r][c]='1';
    for (int i=0;i<4;i++)
    {
        int nextr=r+dir[i][0];
        int nextc=c+dir[i][1];
        if(nextr>=1&&nextr<=n&&nextc>=1&&nextr<=m&&a[nextr][nextc]=='0')
            dfs(nextr,nextc);
    }
}
int main()
{
    cin >>n>>m;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=m;j++)
            cin >>a[i][j];
    }
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=m;j++)
            if (1==i||n==i||1==j||j==n)
                if ('0'==a[i][j])
                    dfs(i,j);
    }
    int s=0;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=m;j++)
        {
            if ('0'==a[i][j])
                s++;
        }
    }
    cout <<s;
}

求dalao给我看看

2024/10/19 11:16
加载中...