题目描述 Description

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'

输入描述 Input Description

第一行为n,m,p。n为mm的数量,cc知道m对朋友关系,有p次约会。
2到n+1 行,每行一个字符串,为第i个mm的名字。{字符串长度<=11,且全大写}
以下m行,每行两个字符串,用空格隔开 ,为有朋友关系的两个mm的名字。
以下p行,每行为两个字符串,用空格隔开,为这p次约会中两个mm的名字。
{保证数据不会出现没有出现过的名字}

输出描述 Output Description

输出P行表示第i次约会的情况,输出‘safe'或者‘cc cry'

样例输入 Sample Input

3 1 1
AAA
BBB
CCC
AAA CCC
AAA BBB

样例输出 Sample Output

cc cry

数据范围及提示 Data Size & Hint

0<m<=2008
0<p<=2008

题目分析:典型的并查集。

 #include<stdio.h>
 #include<string.h>
 int n,m,p;
 ][];

 ];//用于并查集的前驱数组
 void make_set(int pre[]);
 int Find(int x);
 void mix(int x,int y);

 int getStuID(char stuName[]);//传入某个学生的名字,返回学生的ID(名字在name[]中的下标)

 int main()
 {
     int i;
     ],t2[];
     int a,b;
     freopen("data.in","r",stdin);

     scanf("%d%d%d",&n,&m,&p);
     make_set(pre);//并查集数组pre[]的初始化
     ;i<n;i++) scanf("%s",name[i]);//输入n个人的名字
     ;i<m;i++)//输入m个关系
     {
         scanf("%s%s",t1,t2);
         a=getStuID(t1);
         b=getStuID(t2);
         mix(a,b);
     }
     ;i<p;i++)//做p次问询
     {
         scanf("%s%s",t1,t2);
         a=getStuID(t1);
         b=getStuID(t2);
         a=Find(a);
         b=Find(b);
         if(a!=b) printf("cc cry\n");
         else printf("safe\n");
     }
     ;
 }
 void make_set(int pre[])
 {
     int i;
     ;i<n;i++)
         pre[i]=i;
 }
 int Find(int x)
 {
     int r=x;
     while(r!=pre[r])
         r=pre[r];

     int i=x,j;
     while(pre[i]!=r)
     {
         j=pre[i];
         pre[i]=r;
         i=j;
     }
     return r;
 }
 void mix(int x,int y)
 {
     int fx=Find(x),fy=Find(y);
     if(fx!=fy)
     {
         pre[fy]=fx;
     }
 }

 int getStuID(char stuName[])//传入某个学生的名字,返回学生的ID(名字在name[]中的下标)
 {
     ;
     ;i<n;i++)
     {
         ) return i;
     }
     return i;
 }

code vs 2639 约会计划的更多相关文章

  1. codevs 2639 约会计划

    codevs 2639 约会计划 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的 ...

  2. (map 并查集) codeVs 2639 约会计划

    题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关 ...

  3. RQNOJ PID379 / 约会计划 -并查集

    PID379 / 约会计划 题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间 ...

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

    然而我居然让诸城一中悲剧机房的C++可以编译了··· 直接上题目 题目描写叙述 Description cc是个超级帅哥,口才又好.rp极高(这句话似乎降rp),又非常的幽默,所以非常多mm都跟他关系 ...

  5. T2639 约会计划 codevs

    http://codevs.cn/problem/2639/ 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而 ...

  6. rqnoj378 约会计划

    题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格 ...

  7. 【rqnoj378】 约会计划

    题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格 ...

  8. 代码编辑器横评:为什么 VS Code 能拔得头筹

    摘要: 为什么 VS Code 这么火... 公众号:玩转 VS Code 原文:代码编辑器横评:为什么 VS Code 能拔得头筹 Fundebug经授权转载,版权归原作者所有. 2015 年 4 ...

  9. 知否知否,VS Code 不止开源

    VS Code, 昨夜始于“开源”,如今“开源”深处渡. 读者看到这句话,也许会有疑惑,为什么两个“开源”都加上了双引号? 其实是笔者有意为之,因为这个两个“开源”的意义有着很大的差别,第一个“开源” ...

随机推荐

  1. Guava中针对集合的 filter和过滤功能

    在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子: import com.google.common.base.Predicates; impo ...

  2. [置顶] Linux下将Nutch1.3导入eclipse

    1.准备工作 首先去官网下载好 apache-nutch-1.3-bin.zip 解压apache-nutch-1.3-bin.zip [pig@CentOs ]$ unzip   apache-nu ...

  3. 企业级搜索引擎Solr 第三章 索引数据(Indexing Data)[1] (转)

    Index Data Author: David Smiley Eric Pugh 译者:Koala++ / 屈伟 在这一章中我们将了解如何将数据传入Solr.这个传入的过程称之为索引,尽管中间还包含 ...

  4. [leetcode]Distinct Subsequences @ Python

    原题地址:https://oj.leetcode.com/problems/distinct-subsequences/ 题意: Given a string S and a string T, co ...

  5. 如何得知当前机器上安装的PowerShell是什么版本的?

    $PSVersionTable.PSVersion   参考资料 ================ http://stackoverflow.com/questions/1825585/determi ...

  6. Recover Binary Search Tree leetcode java

    题目: Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without chan ...

  7. Android传感器应用——重力传感器实现滚动的弹球

    一. 问题描述 Android中有多达11种传感器,不同的手机设备支持的传感器类型也不尽相同 1. 重力传感器 GV-sensor 2. 加速度传感器 G-sensor 3.  磁力传感器  M-se ...

  8. StackPanel

    StackPanel 的 HorizontalAlignment 属性和 VerticalAlignment 属性 默认情况下,这两个属性都被设置为 Stretch.

  9. windows 查看动态连接库和静态连接库的方法

    在window下查看动态库的导出函数可以用vs自带的Dependenc工具: 查看静态库的信息要用命令行来实现: dumpbin   /LINKERMEMBER   Test.lib   >   ...

  10. [Docker] Building a Node.js Image

    Create a Dockerfile: FROM node:latest MAINTAINER Zhentian Wan ENV NODE_ENV=production ENV PORT= COPY ...