codevs 2639 约会计划
codevs 2639 约会计划
cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错。然而,最关键的是,cc能够很好的调解各各妹妹间的关系。mm之间的关系及其复杂,cc必须严格掌握她们之间的朋友关系,好一起约她们出去,cc要是和不是朋友的两个mm出去玩,后果不堪设想……
cc只掌握着一些mm之间的关系,但是cc比较聪明,他知道a和b是朋友,b和c 是朋友,那么a和c也是朋友。
下面给出m对朋友关系, cc 定了p次约会,每次约会找两个mm,如果这两个mm是朋友,那么不会出乱子,输出‘safe',要是不是朋友,那么cc必然会挨……,输出‘cc cry'
第一行为n,m,p。n为mm的数量,cc知道m对朋友关系,有p次约会。
2到n+1 行,每行一个字符串,为第i个mm的名字。{字符串长度<=11,且全大写}
以下m行,每行两个字符串,用空格隔开 ,为有朋友关系的两个mm的名字。
以下p行,每行为两个字符串,用空格隔开,为这p次约会中两个mm的名字。
{保证数据不会出现没有出现过的名字}
//话说世界上重名的那么多,你是怎么保证一定不会重名呢。
输出P行表示第i次约会的情况,输出‘safe'或者‘cc cry'
//哇,这个cc cry真是油腻。
数据范围及提示 Data Size & Hint
0<m<=2008;0<p<=2008
//这个cc真有钱,一年不断约会是么,败家子,不过他以为妹子们真的傻么,没准在策划着算计他呢。
嗯,继续搞怪,进入正题。
突然发现自己没有样例输入输出;
样例输入 Sample Input:
3 1 1
AAA
BBB
CCC
AAA CCC
AAA BBB
样例输出 Sample Output
cc cry //emmm,活该
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
string a,b,s;
int n,m,p;
map<string,string>f;
string find(string x){
if(f[x]!=x) return f[x]=find(f[x]);
return x;
}
void unio(string x,string y){
if(find(x)!=find(y)) f[f[y]]=f[x];
}
int main(){
scanf("%d%d%d",&n,&m,&p);
for(int i=;i<=n;i++)
cin>>s,f[s]=s;
for(int i=;i<=m;i++)
cin>>a>>b,unio(a,b);
for(int i=;i<=p;i++){
cin>>a>>b;
if(find(a)==find(b))
printf("safe\n");
else
printf("cc cry\n");
}
return ;
}
用map储存一下,没办法,谁叫她们的名字都是字母呢。然后,跑一遍最小生成树?就好了。
再提醒大江南北的兄弟姐妹们一遍,交往需谨慎,万一整天戴着绿帽子多尴尬啊。
要嫁就嫁灰太狼~~
一世安宁
codevs 2639 约会计划的更多相关文章
- (map 并查集) codeVs 2639 约会计划
题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关 ...
- code vs 2639 约会计划
code vs传送门 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各 ...
- RQNOJ PID379 / 约会计划 -并查集
PID379 / 约会计划 题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间 ...
- T2639 约会计划 codevs
http://codevs.cn/problem/2639/ 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而 ...
- rqnoj378 约会计划
题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格 ...
- 【rqnoj378】 约会计划
题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格 ...
- codevs 版刷计划(1000-1099)
Diamond咋都是模板题... 开个坑刷codevs的Master题.巩固一下姿势. 目前AC的题目:1001,1021,1022, 1001.舒适的路线(并查集) 求出无向图s到t路径上的min( ...
- 【日常学习】【并查集+map】codevs2639 约会计划题解
然而我居然让诸城一中悲剧机房的C++可以编译了··· 直接上题目 题目描写叙述 Description cc是个超级帅哥,口才又好.rp极高(这句话似乎降rp),又非常的幽默,所以非常多mm都跟他关系 ...
- WWDC 后苹果最新 App Store 审核条款!
WWDC 2016 大会之后,苹果公司发布了四个全新平台:iOS,macOS,watchOS 和 tvOS.并且在此之后,苹果应用商店审核条款也同时进行了更新——貌似不算进行了更新,简直就是重 ...
随机推荐
- -webkit-min-device-pixel-ratio: 2是什么意思?
DPI(DPR) stands for Dots Per Inch which technically means printer dots per inch. 这个参数实际上量化了屏幕的物理分辨率和 ...
- Oracle EBS 获取说明性弹性域全局数据元
SELECT b.flex_value_set_id, t.application_column_name, t.form_left_prompt FROM fnd_descriptive_flexs ...
- 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...
- 转:C#中的多态
封装.继承.多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了.我一直认为学习OO的最好方法就是结合实践,封装.继承在实际工作中的应用随处 ...
- 设计标签选择器TitleSwitch
设计标签选择器TitleSwitch 效果如下: 源码如下: TitleSwitch.h 与 TitleSwitch.m // // TitleSwitch.h // TitleSwitch // / ...
- October 03rd 2017 Week 40th Tuesday
Don't make promises you can't keep. But those are the best kind. 不要许下做不到的承诺,但是我们做不到的承诺往往是最好的. The be ...
- strip() 只去头尾的,不能去中间
# b = st.strip("|") # strip() 只去头尾的,不能去中间
- VRSProcess(一)
1.freopen( "CONOUT$","w",stdout);在操作系统中,命令行控制台(即键盘或者显示器)被视为一个文件,既然是文件,那么就有“文件名”. ...
- 跟我一起阅读Java源代码之HashMap(三)
上一节我们讲到了如何用散列和链表实现HashMap,其中有一个疑问今天已经有些答案了,为什么要用链表而不是数组 链表的作用有如下两点好处 1. remove操作时效率高,只维护指针的变化即可,无需进行 ...
- 【bzoj 2839】集合计数
权限题 根据广义容斥的套路就很好做了 设\(g_i\)表示交集至少有\(i\)个元素,\(f_i\)表示交集恰好有\(i\)个元素 显然有 \[g_i=\sum_{j=i}^n\binom{j}{i} ...