zoukankan
html css js c++ java
HDU1272 小希的迷宫 并查集
/*并查集的应用,注意点的个数为0的时候,注意输入*/ #include <iostream> #include "UFS.h" using namespace std; UFS ufs; bool flag[MAXN]={0}, f; int cnt_e, cnt_v; void init(); int main() { int n,m; init(); while(cin>>n>>m) { if(m==-1&&n==-1)return 0; if(m==0&&n==0) { getchar();getchar(); /*条件:1.ufs不冲突2.v=e+1(v=0时例外)*/ if(f) cout<<"No"<<endl; else if(cnt_v==0)cout<<"Yes"<<endl; else if(cnt_v!=cnt_e+1)cout<<"No"<<endl; else cout<<"Yes"<<endl; init(); } else { if(flag[m] == 0) { flag[m] = 1; cnt_v++; } if(flag[n] == 0) { flag[n] = 1; cnt_v++; } m = ufs.Find(m); n = ufs.Find(n); if(m==n) f=1; else { ufs.Union(m, n); cnt_e++; } } } return 0; } void init() { ufs.clear(); memset(flag, 0, sizeof(flag)); f = 0; cnt_v = 0; cnt_e = 0; }
查看全文
相关阅读:
6-1
4-9
4-5
4-4
4-3
3-10
作业三2
作业三1
课堂练习二
实验三
原文地址:https://www.cnblogs.com/windmissing/p/2559866.html
最新文章
713
712
711
710
709
707
7-6
6-1
7-4
7-2
热门文章
7-3
6-2
5-9
5-7
5-8
6-3
7-7
5-8
7-3
6-5
Copyright © 2011-2022 走看看