zoukankan      html  css  js  c++  java
  • 题目:约会计划

    题目描述

    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'(T_T)。
    【数据范围】
    0<m<=2008
    0<p<=2008

    输入格式

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

    输出格式

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

    题解:———————————————————————————————————————————————————

    刷水题的感觉真爽,做了一道并查集的问题

    代码实现:

    #include<iostream>
    using namespace std;

    int n,m,p,f[2009];char a[2009][12];

    int find(int i){
        if(i!=f[i])
        f[i]=find(f[i]);
        return f[i];
        }

    int search(char b[]){
        int i,j;
        for(i=1;i<=n;i++)
        if(strlen(a[i])==strlen(b))
        for(j=0;j<strlen(b);j++)
        {if(a[i][j]!=b[j]) break;
         if(j==strlen(b)-1) return i;  
        }  
        }

    int main()
    {
        int i,j;
        cin>>n>>m>>p;
        
        for(i=1;i<=n;i++)
        {cin>>a[i];f[i]=i;}
       
        char b[12],c[12];
        for(i=1;i<=m;i++)
        {    
         cin>>b>>c;
         int x,y;
         x=search(b);
         y=search(c);
         x=find(x);
         y=find(y);
         if(x!=y)
         f[x]=y;
                         }
       
        for(i=1;i<=p;i++)
        {
         cin>>b>>c;
         int x,y;
         x=search(b);
         y=search(c);
         x=find(x);
         y=find(y);
         if(x==y) cout<<"safe"<<endl;
         else cout<<"cc cry"<<endl;
                         }
        system("pause");
        return 0;

        }

  • 相关阅读:
    【小强升职记】读书笔记
    MySQL HA 方案 MMM、MHA、MGR、PXC 对比
    【新机必备】
    【LeetCode】剑指 Offer 03. 数组中重复的数字
    生成表索引的创建和删除语句
    iptables 屏蔽端口
    mysql-5.6.20主从同步错误之Error_code: 1062 Duplicate entry '1' for key 'PRIMARY', Error_code: 1062
    OpenFeign和Consul爱恨交织的两天
    Docker:Linux离线安装docker-compose
    MySql:mysql命令行导入导出sql文件
  • 原文地址:https://www.cnblogs.com/noip/p/2319129.html
Copyright © 2011-2022 走看看