25 31 22 34 55 12 5Sample Output24#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>#include<algorithm>#include<iostream>#include<queue>using namespace std;int visitor[1002];int already[1002];void chu(int x){ for (int i = 1; i <= x; i++) { visitor[i] = i; }}int find(int x){ if (visitor[x] == x) { return x; } else return visitor[x] = find(visitor[x]);}bool friendfind(int x){ for (int i = 0; already[i] != 0; i++) { if (already[i] == x) { return false; } } return true;}int main(){ int n; cin >> n; while (n--) { int visitor_num, guan; cin >> visitor_num >> guan; int v1, v2; chu(visitor_num); memset(already, 0, sizeof(already)); for (int i = 0; i < guan; i++) { cin >> v1 >> v2; visitor[find(v1)] = visitor[find(v2)]; } int k = 0; for (int i = 1; i <= visitor_num; i++) { int temp = find(visitor[i]); if (friendfind(temp)) { already[k++] = temp; } } cout << k<<'/n'; } return 0;}//by swust_y_p
新闻热点
疑难解答