题目大意:

输入n*m的字符串矩形,判断里面的图形是1还是0,还是什么都不是

注意:结构体中放赋值函数,结构体仍旧能定义的写法

  1. #include <iostream>
  2. #include<cstdio>
  3. #include<algorithm>
  4. #include<queue>
  5. #include<map>
  6. #include<vector>
  7. #include<cmath>
  8. #include<cstring>
  9. #include<queue>
  10. //#include<bits/stdc++.h>
  11. using namespace std;
  12. struct node
  13. {
  14. int x,y;
  15. node(int a=,int b=):x(a),y(b) {} //这里point
  16. };
  17. int n,m,one,zero;
  18. int dr[][]= {{,},{,},{-,},{,-} };
  19. char ch[][];
  20. bool vis[][];
  21. bool ok(int x,int y)
  22. {
  23. if (x>= && x<=n && y>= && y<=m) return ;
  24. return ;
  25. }
  26. void bfs(int sx,int sy)
  27. {
  28. queue<node> Q;
  29. Q.push(node(sx,sy));
  30. vis[sx][sy]=;
  31. while(!Q.empty())
  32. {
  33. node u=Q.front();
  34. node v;
  35. Q.pop();
  36. for(int i=; i<; i++)
  37. {
  38. v.x=u.x+dr[i][];
  39. v.y=u.y+dr[i][];
  40. if (!ok(v.x,v.y)) continue;
  41. if (vis[v.x][v.y]) continue;
  42. if (ch[u.x][u.y]==ch[v.x][v.y])
  43. {
  44. Q.push(v);
  45. vis[v.x][v.y]=;
  46. }
  47. }
  48. }
  49. return;
  50. }
  51. int main()
  52. {
  53. while(~scanf("%d%d",&n,&m))
  54. {
  55. for(int i=; i<=n; i++)
  56. for(int j=; j<=m; j++)
  57. cin>>ch[i][j];
  58. for(int j=; j<=m+; j++)
  59. {
  60. ch[][j]='';
  61. ch[n+][j]='';
  62. }
  63. for(int i=; i<=n+; i++)
  64. {
  65. ch[i][]='';
  66. ch[i][m+]='';
  67. }
  68. n++;
  69. m++;
  70. memset(vis,,sizeof(vis));
  71.  
  72. zero=;
  73. one=;
  74. for(int i=; i<=n; i++)
  75. for(int j=; j<=m; j++)
  76. {
  77. if (vis[i][j]==) continue;
  78. if (ch[i][j]=='')
  79. {
  80. zero++;
  81. bfs(i,j);
  82. }
  83. else
  84. {
  85. one++;
  86. bfs(i,j);
  87. }
  88.  
  89. }
  90. // printf("%d %d\n",one,zero);
  91. if (one== && zero==) printf("0\n");
  92. else if (one== && zero==) printf("1\n");
  93. else printf("-1\n");
  94. }
  95. return ;
  96. }

hdu 6113 度度熊的01世界(结构体的赋值问题)的更多相关文章

  1. HDU 6113 度度熊的01世界 【DFS】(2017"百度之星"程序设计大赛 - 初赛(A))

    度度熊的01世界 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  2. 【判连通】HDU 6113 度度熊的01世界

    http://acm.hdu.edu.cn/showproblem.php?pid=6113 [题意] 度度熊是一个喜欢计算机的孩子,在计算机的世界中,所有事物实际上都只由0和1组成. 现在给你一个n ...

  3. 2017"百度之星"程序设计大赛 - 初赛(A) [ hdu 6108 小C的倍数问题 ] [ hdu 6109 数据分割 ] [ hdu 6110 路径交 ] [ hdu 6112 今夕何夕 ] [ hdu 6113 度度熊的01世界 ]

    这套题体验极差. PROBLEM 1001 - 小C的倍数问题 题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6108 (2017"百度之星 ...

  4. HDU 6113 度度熊的01世界

    度度熊的01世界 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  5. HDU 6113 度度熊的01世界【DFS/Flood Fill】

    度度熊的01世界 Accepts: 967 Submissions: 3064 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...

  6. HDU - 6113 2017百度之星初赛A 度度熊的01世界

    度度熊的01世界  Accepts: 967  Submissions: 3064  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 327 ...

  7. 【2017"百度之星"程序设计大赛 - 初赛(A)】度度熊的01世界

    [链接]http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=775&pid=1006 [题意] 在这里写题意 [题 ...

  8. 百度之星2017初赛A-1006-度度熊的01世界

    度度熊的01世界 Accepts: 967 Submissions: 3064 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...

  9. dotnet C# 给结构体字段赋值非线程安全

    在 dotnet 运行时中,给引用对象进行赋值替换的时候,是线程安全的.给结构体对象赋值,如果此结构体是某个类的成员字段,那么此赋值不一定是线程安全的.是否线程安全,取决于结构体的大小,取决于此结构体 ...

随机推荐

  1. BZOJ 2301 Problem b (莫比乌斯反演+容斥)

    这道题和 HDU-1695不同的是,a,c不一定是1了.还是莫比乌斯的套路,加上容斥求结果. 设\(F(n,m,k)\)为满足\(gcd(i,j)=k(1\leq i\leq n,1\leq j\le ...

  2. Lua 可控下标数组遍历

    , , , , , , , , , , , } , , } local j = 1 while i <= #aaa do if bbb[j] == aaa[i] then -- 如果 b下标元素 ...

  3. selenium实现excel文件数据的读、写

    在进行软件测试或设计自动化测试框架时,一个不可避免的过程就是: 参数 化,在利用 python 进行自动化测试开发时,通常会使用 excel 来做数据管 理,利用 xlrd.xlwt 开源包来读写 e ...

  4. 搭建Firekylin博客

    搭建步骤 1).安装 Node.js curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - yum - ...

  5. Python基本知识 os.path.join与split() 函数

    Python中有join和os.path.join()两个函数,具体作用如下: join:连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串os.path.joi ...

  6. sqoop命令,mysql导入到hdfs、hbase、hive

    1.测试MySQL连接 bin/sqoop list-databases --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username ...

  7. OpenStack、KVM、VMWare和Docker

    一.虚拟化 1.什么是虚拟化 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内 ...

  8. 根据iframe获取window

    今天使用layui弹出窗口,需要将函数写在弹出的窗口,但是按钮事件是在父层窗口绑定的,这样就要在父层窗口调用子层窗口的函数. 子层函数与父层函数 function topup() { console. ...

  9. Python3.x:代理ip刷评分

    Python3.x:代理ip刷评分 声明:仅供为学习材料,不允许用作商业用途: 一,功能: 针对某网站对企业自动刷评分: 网站:https://best.zhaopin.com/ 二,步骤: 1,获取 ...

  10. # 20145314《信息安全系统设计基础》期中复习总结 Part B

    20145314<信息安全系统设计基础>期中复习总结 Part B 学习知识点内容总结 复习线索:http://group.cnblogs.com/topic/73069.html 本周的 ...