7 条题解

  • 0
    @ 2024-2-23 20:09:07

    实在没搞懂,去同步超一大堆,scanf稳过 大佬求解

    #include<bits/stdc++.h>
    #define F(a,b) for(int i=(a);i<=(b);i++)
    #define DF(a,b) for(int i=(b);i>=(a);i--)
    using namespace std;
    int a[22222];
    int get(int x)
    {
    	if(a[x]==x) return x;
    	return a[x]=get(a[x]);
    }
    int main()
    {
    	int n,m;
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	{
    		a[i]=i;
    	}
    	for(int i=1;i<=m;i++)
    	{
    		int x,y;
    		scanf("%d%d",&x,&y);
    		a[get(x)]=a[get(y)];
    	}
    	int t;
    	scanf("%d",&t);
    	while(t--)
    	{
    		int x,y;
    		scanf("%d%d",&x,&y);
    		if(a[get(x)]==a[get(y)])
    		{
    			cout<<"Yes\n";
    		}
    		else
    		{
    			cout<<"No\n";
    		}
    	}
    	return 0;
    }
    

    信息

    ID
    454
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    292
    已通过
    78
    上传者