题目1444:More is better

时间限制:3 秒

内存限制:100 兆

特殊判题:

提交:1362

解决:640

题目描述:

Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are certain requirements.Mr Wang selected a room big enough to hold the boys. The boy who are not been chosen has to leave the room immediately. There are 10000000 boys in the room numbered from 1 to 10000000 at the very beginning. After Mr Wang‘s selection any two of them who are still in this room should be friends (direct or indirect), or there is only one boy left. Given all the direct friend-pairs, you should decide the best way.

输入:

The first line of the input contains an integer n (0 ≤ n ≤ 100 000) - the number of direct friend-pairs. The following n lines each contains a pair of numbers A and B separated by a single space that suggests A and B are direct friends. (A ≠ B, 1 ≤ A, B ≤ 10000000)

输出: 

The output in one line contains exactly one integer equals to the maximum number of boys Mr Wang may keep.

总感觉这个Mr Wang是个恋童癖有木有==||

  1 #include <iostream>
  2
  3 using namespace std;
  4
  5
  6
  7
  8
  9
 10
 11 struct LNode
 12
 13 {
 14
 15    LNode * lchild,*rchild;
 16
 17    int data;
 18
 19 };
 20
 21
 22
 23
 24
 25 int Tree[10000001];
 26
 27 int sum[10000001];
 28
 29
 30
 31 int getroot(int x)
 32
 33 {
 34
 35     if(Tree[x]==-1) return x;
 36
 37 else return getroot(Tree[x]);
 38
 39 }
 40
 41
 42
 43
 44
 45
 46
 47 int main()
 48
 49 {
 50
 51        int n;
 52
 53    while(cin>>n)
 54
 55    {
 56
 57      int i;
 58
 59  for(i=0;i<10000001;i++)
 60
 61  {
 62
 63     Tree[i]=-1;
 64
 65 sum[i]=1;
 66
 67  }
 68
 69
 70
 71
 72
 73
 74
 75  for(i=0;i<n;i++)
 76
 77  {
 78
 79     int a,b;
 80
 81 cin>>a>>b;
 82
 83 a=getroot(a);
 84
 85 b=getroot(b);
 86
 87 if(a!=b)
 88
 89 {
 90
 91    Tree[a]=b;
 92
 93    sum[b]+=sum[a];
 94
 95 }
 96
 97  }
 98
 99
100
101  int temp=1;
102
103  for(i=0;i<10000001;i++)
104
105  {
106
107    if(sum[i]>temp) temp=sum[i];
108
109  }
110
111
112
113  cout<<temp<<endl;
114
115
116
117    }
118
119         return 0;
120
121 }

时间: 2024-09-30 15:14:11

题目1444:More is better的相关文章

九度OJ-第5章-图论

二.并查集 1. 例题 题目1012:畅通工程 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:10519 解决:4794 题目描述: 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可).问最少还需要建设多少条道路? 输入: 测试输入包含若干测试用例.每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )

【转】对于杭电OJ题目的分类

[好像博客园不能直接转载,所以我复制过来了..] 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDI

UVA 1444 - Knowledge for the masses

UVA 1444 - Knowledge for the masses 题目链接 题意:给定R排书架,现在要求最小代价移动书架打开一条通道,每次移动书架的代价为1(距离不限),问最小代价和最小代价的位置 思路:对于每一行,从左往右再从右往左各推一遍,每次把各个位置代价的最小值算出来,计算的过程要记录每个位置对应前面空位个数和空位位置,这样每个书架要移动的代价就能快速算出,最后处理往后,在每个位置遍历找出最小值位置即可 代码: #include <cstdio> #include <cst

转载:hdu 题目分类 (侵删)

转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116

Codevs 1444 “破锣摇滚”乐队

1444 “破锣摇滚”乐队 题目描述 Description 你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权.你打算从中精选一些歌曲,发行M(1 <= M <= 20)张CD.每一张CD最多可以容纳T(1 <= T <= 20)分钟的音乐,一首歌不能分装在两张CD中. 不巧你是一位古典音乐迷,不懂如何判定这些歌的艺术价值.于是你决定根据以下标准进行选择: 1.歌曲必须按照创作的时间顺序在CD盘上出现. 2.选中的歌曲数目尽可能

山东省赛题 NEU OJ 1444 线段树双标记

http://acm.neu.edu.cn/hustoj/problem.php?id=1444 OJ问题论坛发帖http://t.cn/zjBp4jd FAQ http://t.cn/zjHKbmN Linux问题看http://t.cn/aWnP1n 1444: Devour Magic 时间限制: 1 Sec  内存限制: 256 MB 提交: 129  解决: 21 [提交][状态][讨论版] 题目描述 In Warcraft III, Destroyer is a large flyi

编程题目分类(剪辑)

1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代数 13. 组合问题 14. 数论 15. 网格,几何,计算几何 [编程入门] PC 110101, uva 100, The 3n+1 problem, 难度 1 PC 110102, uva 10189, Minesweeper, 难度 1 PC 110103, uva 10137, The T

uva 1444 - Knowledge for the masses(高效)

题目链接:uva 1444 - Knowledge for the masses 题目大意:给出R和L,R表示有R行,L表示一行的最大长度. 对于每一行,给出n,然后是n个数,arr[i]为0表示空格,长度为1,否则表示书架,长度为arr[i].现在人要从上边走到下边,问说最少移动几个书架,并且输出可以通过的路径坐标. 解题思路:c[i]表示第i个坐标有多少行可以通过,当c[i]==R时,表示人可以从该位置穿过整个书架.g[i]表示从i这个位置穿过的代价.然后对于每一行处理,pos[i]记录第i

(转)sicily题目分类

Sicily题目分类 ·         [数据结构/图论] 1310 Right-Heavy Tree   笛卡尔树相关,复杂度O(N)或O(NlogN). ·1426 Phone List         电话号码前缀检索,trie树相关. ·1443 Printer Queue      基本队列操作. ·1149 等价表达式         判断表达式是否等价(递归求解) ·1136 山海经             n长序列里求m次区间询问的最大连续子区间和.线段树/RMQ ·1252