• T2639 约会计划 codevs


    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<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<map>
    using namespace std;

    map<string,int>MAP;
    int n,p,q;
    string a,b;
    int deep[3000],fa[3000];

    int GetRoot(int m)
    {
    if(fa[m]==m)
    return m;
    else
    return fa[m]=GetRoot(fa[m]);
    }

    bool judge(int x,int y)
    {
    return GetRoot(x)==GetRoot(y);
    }

    void combine(int x,int y)
    {
    x=GetRoot(x);
    y=GetRoot(y);
    if(x==y)
    return ;
    if(deep[x]<deep[y])
    fa[x]=y;
    else
    {
    fa[y]=x;
    if(deep[x]==deep[y])
    deep[x]++;
    }
    }

    int main()
    {
    cin>>n>>p>>q;
    for(int i=1;i<=n;i++)
    {
    cin>>a;
    MAP[a]=i;
    fa[i]=i;
    deep[i]=1;
    }

    for(int i=1;i<=p;i++)
    {
    cin>>a>>b;
    combine(MAP[a],MAP[b]);
    }
    for(int i=1;i<=q;i++)
    {
    cin>>a>>b;
    if(judge(MAP[a],MAP[b]))
    cout<<"safe"<<endl;
    else
    cout<<"cc cry"<<endl;
    }
    return 0;
    }

    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    linux系统--磁盘管理命令(二)
    linux系统--磁盘管理命令(一)
    linux系统--用户和用户组
    linux4.10.8 内核移植(四)---字符设备驱动_led驱动程序
    linux4.10.8 内核移植(三)---裁剪内核
    linux4.10.8 内核移植(二)---初步裁剪、分区修改和文件系统
    Linux 4.10.8 根文件系统制作(三)---制作yaffs文件系统
    Kotlin的面向对象入门
    Python 中的GIL
    python 虚拟环境的 安装与 使用 和修改为豆瓣源
  • 原文地址:https://www.cnblogs.com/Shy-key/p/6369163.html
Copyright © 2020-2023  润新知