小希的迷宫

Posted Vincent_Bryan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小希的迷宫相关的知识,希望对你有一定的参考价值。

题目大意:

  详见题目。

问题分析:
  题目其实就是判断给出的点集和边集能否构成一棵树,运用树的性质进行判断即可:edge(边数) = vertice(点数) - 1。需要注意的是当输入为:0 0时,结果应为"Yes"。

代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int arr[100010];
 4 int main(int argc, char const *argv[])
 5 {
 6     int a, b;
 7     int edge = 0, vertice = 0;
 8     memset(arr, 0, sizeof(arr));
 9     while(cin >> a >> b){
10         if(a == -1 && b == -1)break;
11         else if(a == 0 && b == 0){
12             if(edge == vertice - 1 || edge == 0 && vertice == 0) printf("Yes\n");
13             else printf("No\n");
14             memset(arr, 0, sizeof(arr));
15             edge = vertice = 0;
16         }
17         else{
18             if(!arr[a]){
19                 arr[a] = 1;
20                 vertice++;
21             }
22             if(!arr[b]){
23                 arr[b] = 1;
24                 vertice++;
25             }
26             edge++;
27         }
28     }
29     return 0;
30 }

 

以上是关于小希的迷宫的主要内容,如果未能解决你的问题,请参考以下文章

小希的迷宫

HDU 1272 小希的迷宫

HDU1272--小希的迷宫(并查集)

hdu 1272 小希的迷宫 (并查集)

HDU 1272 小希的迷宫(乱搞||并查集)

HDU 1272 小希的迷宫