并查集练习(0743) SWUST OJ
生活随笔
收集整理的這篇文章主要介紹了
并查集练习(0743) SWUST OJ
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#include<iostream>
#include<cstring>
using namespace std;
int a[1000005];
int n,m,l,ci,di;int root(int x) //找到根節(jié)點(diǎn)
{int r = x;while(r != a[r])r = a[r];int i = x,j;while(i != r) //壓縮路徑
{j = a[i];a[i] = r;i = j;}return r; } void mix(int x,int y) //混合
{int fx = root(x),fy = root(y);if(fx != fy)a[fy] = fx; //根節(jié)點(diǎn)的值覆蓋
}int main()
{int i,j,t1,t2;
// memset(a,0,sizeof(a)); //過程中超時(shí)了,除去這一條就AC了 cin>>n>>m;for(i = 1;i <= n;i++)a[i] = i;for(i = 1;i <= m;i++){cin>>ci>>di;mix(ci,di);}cin>>l;for(i = 1;i <= l;i++){cin>>t1>>t2;if(root(t1) != root(t2))cout<<"They aren't relative!"<<endl;elsecout<<"They are relative!"<<endl;}return 0;}
這是自學(xué)的并查集,然后在oj上敲的題。有關(guān)并查集的學(xué)習(xí)可以百度。
-----15:44:28 2017-06-10
轉(zhuǎn)載于:https://www.cnblogs.com/jdemarryme/p/6978986.html
總結(jié)
以上是生活随笔為你收集整理的并查集练习(0743) SWUST OJ的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Yii学习笔记之二(使用gii生成一个简
- 下一篇: GNU tools