zoukankan      html  css  js  c++  java
  • 小希的迷宫

    题目大意:

      详见题目。

    问题分析:
      题目其实就是判断给出的点集和边集能否构成一棵树,运用树的性质进行判断即可: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
    ");
    13             else printf("No
    ");
    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 }
  • 相关阅读:
    map迭代器
    线段树——校门外的树
    并查集——C
    并查集
    数论—— LCM
    【动态规划】合唱队形
    线段树——D
    线段树——E
    逆元,exgcd,欧拉定理,费马小定理
    待学知识点
  • 原文地址:https://www.cnblogs.com/Vincent-Bryan/p/5554911.html
Copyright © 2011-2022 走看看