HDU-1272 小希的迷宮 並查集
#include "stdio.h"
const int maxn = 100050;
int p[maxn],rank[maxn];
bool vis[maxn];
int n,flag;
int find( int x )
{
return p[x] == x ? x:p[x] = find(p[x]);
}
void merge( int a,int b )
{
int x = find(a);
int y = find(b);
if( x!=y )
if( rank[x] > rank[y] )
p[y] = x;
else
{
p[x] = y;
if( rank[x] == rank[y] )
rank[y]++;
}
else
flag = 0;
}
int main()
{
int a,b;
while( scanf("%d%d",&a,&b)==2 ,( a!=-1 || b!=-1 ) )
{
if( !a || !b )
{
puts("Yes");
continue;
}
for( int i = 0; i < maxn; i ++ )
{
p[i]= i;
vis[i]=0;
rank[i] = 0;
}
vis[a] = vis[b] = 1;
flag = 1;
merge(a,b);
while( scanf("%d%d",&a,&b)==2,(a||b) )
{
merge(a,b);
vis[a] = vis[b] = 1;
}
int k = 0;
for( int i = 1; i < maxn; i ++ )
{
if( vis[i] && p[i]==i )
{
k++;
}
if( k>1 )
flag = 0;
}
if( flag )
puts("Yes");
else
puts("No");
}
return 0;
}
相關文章
- HDU 1272小希的迷宮(簡單並查集)並查集
- 試題集—— 演算法提高 學霸的迷宮演算法
- 簡單介紹Python迷宮生成和迷宮破解演算法Python演算法
- 內容是超正統的迷宮RPG?PSP遊戲《迷宮旅人2》深度解析遊戲
- PHP 生成迷宮路線PHP
- 【面試】如何找到迷宮出口面試
- 並查集到帶權並查集並查集
- 並查集(一)並查集的幾種實現並查集
- 並查集的使用並查集
- PHP 解迷宮之 H 最小PHP
- Python迷宮生成器Python
- 藍橋杯-走迷宮(BFS)
- 並查集(二)並查集的演算法應用案例上並查集演算法
- PHP 解迷宮之 G + H 最小PHP
- 用 Canvas + WASM 畫一個迷宮CanvasASM
- 回溯法解決迷宮問題
- 51nod 1459 迷宮遊戲遊戲
- 隨機迷宮生成演算法隨機演算法
- 如何用程式解圖片迷宮?
- C語言動態走迷宮C語言
- 藍橋杯-迷宮(BFS+DFS)
- 並查集的應用並查集
- 並查集(小白)並查集
- 解密迷宮問題:三種高效演算法Java實現,讓你輕鬆穿越未知迷宮解密演算法Java
- C++實現迷宮的生成與解決C++
- 用webgl打造自己的3D迷宮遊戲Web3D遊戲
- 華為優招面試題---迷宮問題面試題
- 並查集的應用2並查集
- (轉載)並查集的作用並查集
- 並查集(Union Find)並查集
- 並查集應用並查集
- The Door Problem 並查集並查集
- 並查集練習並查集
- 並查集—應用並查集
- 寫模板, 並查集。並查集
- 簡單易懂的並查集演算法以及並查集實戰演練並查集演算法
- C++基於控制檯的迷宮實現(上)C++
- 寒假補充專案-回溯法走迷宮