比赛 板子大赛 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 黑白图像 最终得分 100
用户昵称 ChenBp 运行时间 0.356 s
代码语言 C++ 内存使用 4.47 MiB
提交时间 2025-01-22 10:34:33
显示代码纯文本
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4. int g[705][705];
  5. int c[8][2]={{0,1},{0,-1},{1,0},{-1,0},{-1,-1},{-1,1},{1,-1},{1,1}};
  6. int n;
  7. void dfs(int x,int y){
  8. g[x][y]=0;
  9. for(int i=0;i<8;i++){
  10. int xx=x+c[i][0],yy=y+c[i][1];
  11. if(xx>0&&yy>0&&xx<=n&&yy<=n&&g[xx][yy]==1){
  12. dfs(xx,yy);
  13. }
  14. }
  15. }
  16. int main(){
  17. freopen("common.in","r",stdin);
  18. freopen("common.out","w",stdout);
  19. cin>>n;
  20. for(int i=1;i<=n;i++){
  21. for(int j=1;j<=n;j++){
  22. scanf("%1d",&g[i][j]);
  23. }
  24. }
  25. int ans=0;
  26. for(int i=1;i<=n;i++){
  27. for(int j=1;j<=n;j++){
  28. if(g[i][j]==1){
  29. ans++;
  30. dfs(i,j);
  31. }
  32. }
  33. }
  34. cout<<ans;
  35. return 0;
  36. }