为神魔会错啊
  • 板块P1551 亲戚
  • 楼主999gaocl999
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/8/26 22:45
  • 上次更新2023/11/3 00:59:35
查看原帖
为神魔会错啊
1069424
999gaocl999楼主2023/8/26 22:45
#include<iostream>
#include<cstring>
using namespace std;

int main(){
    int n,m,p;
    cin>>n>>m>>p;
	int arr[n+1];
	memset(arr,0,sizeof(arr));
    for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		if(y>=x){
			if(arr[y]==0){
				         if(arr[x]==0){
						 	arr[y]=x;
						 	arr[x]=x;
						 }else arr[y]=arr[x];
			}else{if(arr[x]==0){
		      	if(x>arr[y]){
				  	arr[x]=arr[y];
				  }else{
				  	for(int j=1;j<=n;j++){
					  	if(arr[j]==arr[y]){
						  	arr[j]=x;
						  	arr[x]=x;
						  }
					  }
				  }
			  }else{
			  	if(arr[x]>arr[y]){
			  		for(int j=1;j<=n;j++){
  					  	if(arr[j]==arr[x]){
  						  	arr[j]=arr[y];
  						  }
  					  }
				  }else{
				  		for(int j=1;j<=n;j++){
	  					  	if(arr[j]==arr[y]){
	  						  	arr[j]=arr[x];
	  						  }
					  	}
				  }
			  }
			}
		}else{
   			if(arr[x]==0){
   				         if(arr[y]==0){
   						 	arr[x]=y;
   						 	arr[y]=y;
   						 }else arr[y]=arr[x];
   			}else{if(arr[y]==0){
   		      	if(y>arr[x]){
   				  	arr[y]=arr[x];
   				  }else{
   				  	for(int j=1;j<=n;j++){
   					  	if(arr[j]==arr[x]){
   						  	arr[j]=y;
   						  	arr[y]=y;
   						  }
   					  }
   				  }
   			  }else{
   			  	if(arr[y]>arr[x]){
   			  		for(int j=1;j<=n;j++){
     					  	if(arr[j]==arr[y]){
     						  	arr[j]=arr[x];
     						  }
     					  }
   				  }else{
   				  		for(int j=1;j<=n;j++){
   	  					  	if(arr[j]==arr[x]){
   	  						  	arr[j]=arr[y];
   	  						  }
   					  	}
   				  }
   			  }
   			}
		}
	}
	for(int i=1;i<=p;i++){
		int x,y;
		cin>>x>>y;
		if(arr[x]==0 || arr[y]==0) cout<<"No";
		else{
			if(arr[x]==arr[y]) cout<<"Yes";
			else cout<<"No";
		}

	}
	return 0;
}
2023/8/26 22:45
加载中...