SDUT 电影节(并查集模板)
来源:互联网 发布:怎样看手机淘宝等级 编辑:程序博客网 时间:2024/05/16 23:47
电影节
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
某届电影节评选电影,共有两部电影进入最后评选环节,有n名观众,每个人有一次投票的机会,每个人都按照规则投给其中一部电影。为了了解情况,记者随机询问了一些人,一共询问了m次,特别神奇的是,记者每次都询问两个人,而且这两个人都把票投给了同一部电影,观众编号为1~n。
输入
多组输入,每组第一行是两个整数n,m (2 <= n <=100000,0 <= m < n/2),接下来m行数据,表示m次询问,每行数据有两个整数a,b代表观众的编号(1 <= a,b <= n),观众a和观众b投票给了同一部电影,接下来一行是两个整数c,d(1 <= c,d <= n)。
输出
对于每一组输入,输出一行,如果观众c和观众d投票给同一部电影,输出”same”,如果不能确定,输出”not sure”。
示例输入
5 21 22 31 35 21 23 41 45 21 23 42 5
示例输出
samenot surenot sure
提示
模板。并查集共两种操作 并和查
#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>using namespace std;int father[100010];void Make_set(int n)//初始化{for(int i=1;i<=n;i++)father[i]=i;}int Find(int x)//查{if(x!=father[x])father[x]=Find(father[x]);//路径压缩return father[x];}void Union(int x,int y)//并{int fx=Find(x);int fy=Find(y);father[fy]=fx;}int main(){ int n,m,i,x,y; while(scanf("%d%d",&n,&m)!=EOF){Make_set(n);for(i=0;i<m;i++){scanf("%d%d",&x,&y);Union(x,y);}scanf("%d%d",&x,&y);if(Find(x)==Find(y))puts("same");elseputs("not sure");}return 0;}
0 0
- SDUT 电影节(并查集模板)
- SDUT2797_电影节(并查集)(模板)
- sdut 2797 电影节(并查集)
- 电影节(并查集)
- 电影节(并查集)
- 并查集--电影节
- SDUT2797 电影节 并查集
- 2797 电影节 并查集
- 并查集 电影节 sdoj
- 并查集——电影节
- 寒假训练--并查集--电影节
- 电影节——并查集
- 电影节——并查集
- 电影节----并查集+一点点思考
- SDUT (并查集)
- SDUTOJ 2797 电影节 -----非并查集解法和并查集解法(带压缩路径)
- SDUT (并查集+哈希)
- 并查集(模板)
- 关于Oracle外键列上是否需要索引问题
- Java中的==和equals区别
- 表格中,鼠标放上去的行变色,离开恢复原来颜色
- 程序员练级之路 (作者:陈皓)
- 如何做一个合格的策划
- SDUT 电影节(并查集模板)
- hdu 4952 Number Transformation
- 关于PCA
- NDK开发之打印日志
- 单链表中删除重复元素的结点
- Linux shell高级技巧一
- mysql性能调试工具profile
- 综合常识
- 《深度探索C++对象模型》读书笔记之Data语意学