CodeVS 2639 约会计划

Portal:http://codevs.cn/problem/2639/

简单题,并查集再加个map,一开始我以为要用图论,失算

FML,我的代码怎么这么长。。。优化太多反而慢啊。。。大常数大师啊。。。

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<set>
 4 #include<cstdio>
 5 #include<cstdlib>
 6 #include<cmath>
 7 #include<map>
 8 #include<cstring>
 9 using namespace std;
10 #define FOR(i,j,k) for(int i=j;i<=k;i++)
11 #define FORD(i,j,k) for(int i=j;i>=k;i--)
12 #define LL long long
13 #define maxn 2010
14 int father[maxn],rank[maxn];
15 int n,m,p;
16 string x,y;
17 map<string,int> name;
18 int setfind(int xx)
19 {
20     int fa=father[xx];
21     if(fa==xx) return fa;
22     else return father[xx]=setfind(fa);
23 }
24 void setunion(int xx,int yy)
25 {
26     int X=setfind(xx);
27     int Y=setfind(yy);
28     if(X==Y) return;
29     if(rank[X]==rank[Y]) {father[X]=Y;rank[Y]++;}
30     else if(rank[X]>rank[Y]) father[X]=Y;
31     else father[Y]=X;
32 }
33 bool is_same(int xx,int yy)
34 {
35     return setfind(xx)==setfind(yy);
36 }
37 int main()
38 {
39 cin>>n>>m>>p;
40 FOR(i,1,n)
41 {cin>>x;name[x]=i;father[i]=i;rank[i]=1;}
42 FOR(i,1,m)
43 {
44     cin>>x>>y;
45     setunion(name[x],name[y]);
46 }
47 FOR(i,1,p)
48 {
49     cin>>x>>y;
50     if(is_same(name[x],name[y])) cout<<"safe"<<endl;
51     else cout<<"cc cry"<<endl;
52 }
53 return 0;
54 }

渣代码

蛋疼地在路径压缩时做了个用空间换时间的优化

/*init*/i=1-m   rank[i]=1;
//
if(X==Y) return;
    if(rank[X]==rank[Y]) {father[X]=Y;rank[Y]++;}
    else if(rank[X]>rank[Y]) father[X]=Y;
    else father[Y]=X;
//平时并的时候都是直接father[X]=Y;,汗

垃圾优化,毁我青春

UN3次才AC,粗心啊

啧,丢人啊

时间: 2024-10-08 19:36:18

CodeVS 2639 约会计划的相关文章

2639 约会计划

code vs传送门 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格掌握她们之间的朋友关系,好一起约她们出去,cc要是和不是朋友的两个mm出去玩,后果不堪设想--cc只掌握着一些mm之间的关系,但是cc比较聪明,他知道a和b是朋友,b和c 是朋友,那么a和c也是朋友.下面给出m对朋友关系, cc 定了p次约会,每次约会找

【rqnoj378】 约会计划

题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格掌握她们之间的朋友关系,好一起约她们出去,cc要是和不是朋友的两个mm出去玩,后果不堪设想…… cc只掌握着一些mm之间的关系,但是cc比较聪明,他知道a和b是朋友,b和c 是朋友,那么a和c也是朋友. 下面给出m对朋友关系, cc 定了p次约会,每次约会找两个mm,如果这两个mm是朋友,那么不会出

【日常学习】【并查集+map】codevs2639 约会计划题解

然而我居然让诸城一中悲剧机房的C++可以编译了··· 直接上题目 题目描写叙述 Description cc是个超级帅哥,口才又好.rp极高(这句话似乎降rp),又非常的幽默,所以非常多mm都跟他关系不错. 然而.最关键的是,cc可以非常好的调解各各妹妹间的关系.mm之间的关系及其复杂.cc必须严格掌握她们之间的朋友关系,好一起约她们出去,cc要是和不是朋友的两个mm出去玩.后果不堪设想-- cc仅仅掌握着一些mm之间的关系.可是cc比較聪明.他知道a和b是朋友,b和c 是朋友,那么a和c也是朋

rqnoj378 约会计划

题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格掌握她们之间的朋友关系,好一起约她们出去,cc要是和不是朋友的两个mm出去玩,后果不堪设想…… cc只掌握着一些mm之间的关系,但是cc比较聪明,他知道a和b是朋友,b和c 是朋友,那么a和c也是朋友. 下面给出m对朋友关系, cc 定了p次约会,每次约会找两个mm,如果这两个mm是朋友,那么不会出

约会细节第一次

1.手机静音 2.第一次的约会礼物 3.注意要把指甲剪干净 4.幽默 5.口香糖,安全套,手机充满电,详细的约会计划,看好天气预报,洗好澡,刷好牙,做好发型,研究好交通.最后,一颗淡定的心,以及提前准备出来的至少10条话题! 6.第一次约会是非常重要的.如果想给对方留下较深的好印象,那你不可不注意些小细节.第一件:问女生"你喜欢我吗?" 这种事不该你问,至少不该在第一次约会时问.这只会充分暴露出你的不自信.另一方面,女方对你没好感的话,她也不会坐在你面前了. 第二件:在约会中打电话或发

WWDC 后苹果最新 App Store 审核条款!

  WWDC 2016 大会之后,苹果公司发布了四个全新平台:iOS,macOS,watchOS 和 tvOS.并且在此之后,苹果应用商店审核条款也同时进行了更新——貌似不算进行了更新,简直就是重写!上个版本的 30 个章节被修改成了 5 大章节,但原版英文版字数从 5000 多个英文单词增加到了 6000 多个英文单词. 目录 提交应用之前的检查列表   1.安全 1.1 不当内容 1.2 用户生成的内容 1.3 儿童分类 1.4 人身伤害 1.5 开发者信息 2.性能 2.1 应用程序的完整

【算法学习笔记】36.凸包 求最大两点距离 SJTU OJ 1244 Date A Live

Description 某助教有好多好多妹纸,其中不乏来自五道口与东川路等男子职业技术学校的.然而,遥远的距离让他不得不花费大量的时间奔波于众多城市之间.为了更好地安排自己的约会计划,他想知道最远的两只妹纸之间的距离是多少. Input Format 第一行有一个整数n,表示妹纸的数量. 接下来n行,每行两个实数x,y,表示妹纸的坐标(假定在一个平面直角坐标系上). 对于80%的数据,n<=2000 对于90%的数据,n<=10000 对于100%的数据,n<=100000 Output

[SinGuLaRiTy] 树链问题

[SinGuLaRiTy-1035] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 关于树链 树链是什么?这个乍一看似乎很陌生的词汇表达的其实就是在一棵树中从一个节点到另外一个节点的路径.在许多看似复杂的图论问题中,我们实际上只要对其进行适当的处理,把图转化为一棵树,问题就会得到化简,再运用树链的相关思想就可以较为轻松地解决. 树上倍增 所谓的“树上倍增”,其实就是一种记录节点的方法.我们定义一个数组f[i][j],表示节点i的第2^j

大神刷题表

9月27日 后缀数组:[wikioi3160]最长公共子串 dp:NOIP2001统计单词个数 后缀自动机:[spoj1812]Longest Common Substring II [wikioi3160]最长公共子串 [spoj7258]Lexicographical Substring Search 扫描线+set:[poj2932]Coneology 扫描线+set+树上删边游戏:[FJOI2013]圆形游戏 结论:[bzoj3706][FJ2014集训]反色刷 最小环:[poj1734