站外题信息学奥赛一本通1933求助,没有输出
  • 板块灌水区
  • 楼主Supa7onyz
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/21 22:22
  • 上次更新2024/3/22 13:33:09
查看原帖
站外题信息学奥赛一本通1933求助,没有输出
1095806
Supa7onyz楼主2024/3/21 22:22
#include <iostream>
using namespace std;
int n,m,a[100+1][100+1],ans=0;
void dfs(int i,int j){
    if (a[i][j]==1){
    int p=0;
    //上
    if (a[i-1][j]==1&&i!=0){
        p=1;
        dfs(i-1,j);
    }
    //下
    if (a[i+1][j]==1&&i!=m){
        p=1;
        dfs(i+1,j);
    }
    //左
    if (a[i][j-1]==1&&j!=0){
        p=1;
        dfs(i,j-1);
    }
    //右
    if (a[i][j+1]==1&&j!=n){
        p=1;
        dfs(i,j+1);
    }
    if (p==0){
        ans++;
    }
    }
    return;
}
int main()
{
    cin>>n>>m;
    for (int i=0;i<n;i++){
        for (int j=0;j<m;j++){
            cin>>a[i][j];
        }
    }
    //black:1 white:0 dfsed:2
    for (int i=0;i<n;i++){
        for (int j=0;j<m;j++){
            dfs(i,j);
        }
    }
    cout<<ans;
    return 0;
}```
2024/3/21 22:22
加载中...