TLE求助!用的DFS
查看原帖
TLE求助!用的DFS
775415
kissu楼主2023/8/23 15:21

求助!谢谢。

#include<bits/stdc++.h> 
using namespace std;
char a[101][101],b[101][101];
void s(int i,int j,char v){
    if(a[i][j]!=v||v=='0'||b[i][j]=='0'||i<0||i>99||j<0||j>99)return;
    b[i][j]='0';
    s(i,j+1,v);
    s(i,j-1,v);
    s(i-1,j,v);
    s(i+1,j,v);
}
int main()
{
    memset(b,'1',sizeof(b));
    int n,m,c=0;
    cin>>n>>m;
    for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>n>>m;}}
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(b[i][j]=='1'&&a[i][j]!=0){
                s(i,j,a[i][j]);
                ++c;
            }
        }
    }
    cout<<c;
    return 0;
}
2023/8/23 15:21
加载中...