标签:arch ini count scan using rman ref ssi tle
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3062 Accepted Submission(s): 1182
1 //num[b]=num[x]+z-num[y] 这个看看图就好理解了 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 int n,m; 8 int fat[50004]; 9 int num[50004]; 10 int find(int x) 11 { 12 if(fat[x]!=x) 13 { 14 int f=fat[x]; 15 fat[x]=find(fat[x]); 16 num[x]+=num[f]; 17 } 18 return fat[x]; 19 } 20 void connect(int x,int y,int z) 21 { 22 int a=find(x),b=find(y); 23 if(a!=b) 24 { 25 fat[b]=a; 26 num[b]=num[x]+z-num[y]; 27 } 28 } 29 int main() 30 { 31 int a,b,c,ans; 32 while(scanf("%d%d",&n,&m)!=EOF) 33 { 34 ans=0; 35 for(int i=0;i<=n;i++) 36 { 37 fat[i]=i; 38 num[i]=0; 39 } 40 for(int i=1;i<=m;i++) 41 { 42 scanf("%d%d%d",&a,&b,&c); 43 if(find(a)==find(b)) 44 { 45 if(num[b]-num[a]!=c) 46 ans++; 47 } 48 else connect(a,b,c); 49 } 50 printf("%d\n",ans); 51 } 52 return 0; 53 }
标签:arch ini count scan using rman ref ssi tle
原文地址:http://www.cnblogs.com/--ZHIYUAN/p/6024564.html