标签:typedef inline bzoj1854 rip tor htm 输入 ret swap
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作。
【数据范围】
对于30%的数据,保证N < =1000
对于100%的数据,保证N < =1000000
1 //It is made by ljh2000 2 #include <iostream> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cstdio> 6 #include <cmath> 7 #include <algorithm> 8 #include <ctime> 9 #include <vector> 10 #include <queue> 11 #include <map> 12 #include <set> 13 using namespace std; 14 typedef long long LL; 15 const int MAXN = 10011; 16 int n,father[MAXN]; 17 bool ok[MAXN]; 18 19 inline int getint() 20 { 21 int w=0,q=0; char c=getchar(); 22 while((c<‘0‘ || c>‘9‘) && c!=‘-‘) c=getchar(); if(c==‘-‘) q=1,c=getchar(); 23 while (c>=‘0‘ && c<=‘9‘) w=w*10+c-‘0‘, c=getchar(); return q ? -w : w; 24 } 25 inline int find(int x){ if(father[x]!=x) father[x]=find(father[x]); return father[x]; } 26 inline void work(){ 27 n=getint(); for(int i=1;i<=10001;i++) father[i]=i; int x,y,r1,r2; 28 for(int i=1;i<=n;i++) { 29 x=getint(); y=getint(); r1=find(x); r2=find(y); 30 if(r1==r2) ok[r1]=true; 31 else{ 32 if(r1>r2) swap(r1,r2); 33 if(!ok[r1]) ok[r1]=true; else ok[r2]=true; 34 father[r1]=r2; 35 } 36 } 37 for(int i=1;i<=10001;i++) if(!ok[i]) { printf("%d",i-1); return ; } 38 printf("10000"); 39 } 40 41 int main() 42 { 43 work(); 44 return 0; 45 }
标签:typedef inline bzoj1854 rip tor htm 输入 ret swap
原文地址:http://www.cnblogs.com/ljh2000-jump/p/6049002.html