60分求助,2号和3号点WA
查看原帖
60分求助,2号和3号点WA
740948
rb_tree楼主2024/1/6 18:08

rt

#include<cstdio>
#include<iostream>
#include<map>
#include<string>
#include<cstring>
using namespace std;
map<string,string> s;
string father(string x)
{
    if(s[x]==x) return x;
    return s[x]=father(s[x]);
}
int main()
{
    int n,m,q;
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
    {
        string tmp;
        cin>>tmp;
        s[tmp]=tmp;
    }
    for(int i=0;i<m;i++)
    {
        string x,y,fatherx,fathery;
        cin>>x>>y;
        fatherx=father(x);
        fathery=father(y);
        if(fatherx!=fathery) s[fatherx]=fathery;
    }
    scanf("%d",&q);
    for(int i=0;i<q;i++)
    {
        string x,y,fatherx,fathery;
        cin>>x>>y;
        fatherx=father(x);
        fathery=father(y);
        if(fatherx==fathery) printf("Yes.\n");
        else printf("No.");
    }
    return 0;
}
2024/1/6 18:08
加载中...