码迷,mamicode.com
首页 > 其他好文 > 详细

Hdu 4496

时间:2014-05-23 08:59:34      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   c   code   java   

题目链接

并查集简单题,赛前复习 :.....

附上代码:

bubuko.com,布布扣
 1 /*************************************************************************
 2     > File Name: 4496.cpp
 3     > Author: Stomach_ache
 4     > Mail: sudaweitong@gmail.com
 5     > Created Time: 2014年05月19日 星期一 23时51分28秒
 6     > Propose: 
 7  ************************************************************************/
 8 
 9 #include <cmath>
10 #include <string>
11 #include <cstdio>
12 #include <fstream>
13 #include <cstring>
14 #include <iostream>
15 #include <algorithm>
16 using namespace std;
17 
18 typedef pair<int, int> pii;
19 pii a[100005];
20 int ans[100005], fa[10005];
21 
22 int
23 findSet(int x) {
24       return fa[x] != x ? fa[x]=findSet(fa[x]) : x;
25 }
26 
27 int
28 main(void) {
29       int n, m;
30       while (scanf("%d %d", &n, &m) == 2) {
31          for (int i = 0; i < n; i++) {
32               fa[i] = i;
33         }
34         for (int i = 0; i < m; i++) {
35             scanf("%d %d", &a[i].first, &a[i].second);
36         }
37         ans[m] = n; 
38         for (int i = m-1; i > 0; i--) {
39               int x = findSet(a[i].first);
40             int y = findSet(a[i].second);
41               if (x != y) {
42                 fa[x] = y;
43                 ans[i] = ans[i+1] - 1;
44             } else {
45                   ans[i] = ans[i+1];
46             }
47         }
48         for (int i = 1; i <= m; i++) {
49               printf("%d\n", ans[i]);
50         }
51     }
52 
53     return 0;
54 }
bubuko.com,布布扣

 

Hdu 4496,布布扣,bubuko.com

Hdu 4496

标签:style   class   blog   c   code   java   

原文地址:http://www.cnblogs.com/Stomach-ache/p/3738044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!