wa
查看原帖
wa
1412080
liuyichen2024楼主2024/10/5 19:34
#include<bits/stdc++.h>
using namespace std;
const int N=3000010;
long long t,fa[N],ans;
long long find(long long x){
	if(fa[x]==x)return x;
	ans++;
	return find(fa[x]);
}
void work2(long long a,long long b){
	long long a1,a2;
	if(find(a)!=find(b)){
		printf("-1\n");
		return;
	}
	ans=0;find(a);a1=ans;
	ans=0;find(b);a2=ans;
	ans=a1-a2+1;if(ans<0)ans*=-1;
	printf("ll%d\n",ans);
	return;
}
int main(){
	long long a,b;
	char p;
	scanf("%d",&t);
	for(int i=1;i<=30000;i++)fa[i]=i;
	while(t--){
		scanf("%s%lld%lld",&p,&a,&b);
		if(p=='M')fa[a]=b;
		else work2(a,b);
	}
	return 0;
}
2024/10/5 19:34
加载中...