欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

第六章部分例题

发布时间:2024/4/14 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 第六章部分例题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

图:油田

1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 //置顶向下的设计 6 using namespace std; 7 8 const int maxn=10000; 9 char pic[maxn][maxn]; 10 int idx[maxn][maxn]; 11 int m,n; 12 13 void dfs(int i,int j,int id) 14 { 15 if(i<0 || i>=m || j<0 || j>=n) return; 16 if(pic[i][j]!='@' || idx[i][j]!=0) return; 17 18 idx[i][j]=id; 19 20 for(int r=-1;r<=1;r++) 21 for(int p=-1;p<=1;p++) 22 if(r!=0 || p!=0) dfs(i+r,j+p,id); 23 } 24 25 int main() 26 { 27 28 cin>>m>>n; 29 30 for(int i=0;i<m;i++) scanf("%s",pic[i]); 31 32 memset(idx,0,sizeof(idx)); 33 34 int cnt=0; 35 36 for(int i=0;i<m;i++) 37 for(int j=0;j<n;j++) 38 if(idx[i][j]==0 && pic[i][j]=='@') dfs(i,j,++cnt); 39 40 printf("%d\n", cnt); 41 42 return 0; 43 }

 

转载于:https://www.cnblogs.com/tclan126/p/7291907.html

总结

以上是生活随笔为你收集整理的第六章部分例题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。