周六900C++班级-20230207 深搜复习

7631: 无人机翱翔

 

2799: Counting Sheep

#include<bits/stdc++.h>
using namespace std;
char a[151][151];
int vis[151][151];
int nex[8][2] = {{0,1},{1,0},{0,-1},{-1,0}};
int n,m,ans;
void dfs(int x,int y);
int main(){
    int t;
    cin>>t;
    while(t--){
        cin>>n>>m;
        memset(vis,0,sizeof(vis));
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                cin>>a[i][j];
        ans=0;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++){
                if(a[i][j]=='#' && vis[i][j]==0){
                    vis[i][j]=1;
                    ans++;
                    dfs(i,j);
                    
                }
            }
        cout<<ans<<endl;
    }
    
    return 0;
}
void dfs(int x,int y){
    for(int i=0;i<4;i++){
        int tx = x + nex[i][0];
        int ty = y + nex[i][1];
        if(tx<1||tx>n||ty<1||ty>m)continue;
        if(a[tx][ty]=='#' && vis[tx][ty]==0){
            vis[tx][ty]=1;
            dfs(tx,ty);
            
        }
    }
}

 

1334:石油矿床

#include<bits/stdc++.h>
using namespace std;

char a[101][101];
int t[12000];
bool vis[101][101];
int nex[8][2]={{0,1} , {1,0} , {0,-1} , {-1,0} , {-1,1} , {1,1} , {1,-1} , {-1,-1}};
int n,m,sum;

void dfs(int x,int y){
    for(int i=0;i<8;i++){
        int tx=nex[i][0]+x;
        int ty=nex[i][1]+y;
        if(tx<1||tx>n||ty<1||ty>m)continue;
        if(a[tx][ty]=='@'&&vis[tx][ty]==0){
            vis[tx][ty]=1;
            dfs(tx,ty);
        }
    }
}

int main(){
    while(cin>>n>>m){
        if(n==0&&m==0)break;
        memset(vis,0,sizeof(vis));
        sum=0;
        memset(t,0,sizeof(t));
        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(a[i][j]=='@'&&vis[i][j]==0){
                    vis[i][j]=1;
                    sum++;
                    dfs(i,j);
                    
                }
            }

        cout<<sum<<endl;
    }
    return 0;
}

 

posted @ 2023-02-07 15:34  CRt0729  阅读(30)  评论(0编辑  收藏  举报