Ahuang1A

导航

7.22 Day 3

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int n,m,ct,dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
 5 char mp[101][101];
 6 bool vis[101][101];
 7 void s(int sx, int sy)
 8 {
 9     for(int i=0;i<4;++i)
10     {
11         int x=sx+dir[i][0],y=sy+dir[i][1];
12         if(x>=1&&x<=n&&y>=1&&y<=m&&vis[x][y]==false&&mp[x][y]!='0')
13         {
14             vis[x][y]=true;    
15             s(x,y);
16         }
17     }
18 }
19 int main()
20 {
21     cin>>n>>m;
22     for(int i=1;i<=n;++i)
23         for(int j=1;j<=m;++j)
24             cin>>mp[i][j];
25     for(int i=1;i<=n;++i)
26         for(int j=1;j<=m;++j)
27         {
28             if(vis[i][j]==false&&mp[i][j]!='0')
29             {
30                 vis[i][j]=true;
31                 s(i,j);
32                 ct++;
33             }
34         }
35     cout<<ct;
36     return 0;
37 }

上为:1329 细胞 源代码

#include<bits/stdc++.h>
using namespace std;
int a[101];
int m,n;
void s(int k){
    int i;
    if(k>m){
        for(i=1;i<=m;i++){
            cout<<setw(3)<<a[i];
        } 
        cout<<endl;
        return;
    }
    for(i=a[k-1]+1;i<=n;i++){
        a[k]=i;
        s(k+1);
    }
    return;
}
int main(){
    cin>>n>>m;
    s(1);
    return 0;
}

上为:DFS 组合的输出 源代码

今日完成上面2题

posted on 2023-07-22 21:51  黄奕钧  阅读(5)  评论(0编辑  收藏  举报