#include <iostream>
#include <algorithm>
#include <string>
using namespace std; const int maxn = + ;
int fa[maxn];
int d[maxn]; int Find(int x){
if (fa[x] != x){
int root = Find(fa[x]);
d[x] += d[fa[x]]; //路径压缩维护d[i]
return fa[x] = root;
}
else
return x;
} int main(){
/*
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
*/
int t;
cin >> t;
while (t--){
int n;
cin >> n; //init
for (int i = ; i <= n; i++){
fa[i] = i;
d[i] = ;
} string s;
while (cin >> s){
if (s[] == 'O')
break;
if (s[] == 'I'){
int a, b;
cin >> a >> b;
fa[a] = b;
d[a] = abs(a - b) % ;
}
else{
int c;
cin >> c;
Find(c);
cout << d[c] << endl;
}
}
}
/*
fclose(stdin);
fclose(stdout);
*/
return ;
}

最新文章

  1. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
  2. 因开启SELinux导致httpd报403
  3. java读取各类型的文件
  4. Spring 静态资源配置
  5. 51nod1239 欧拉函数之和
  6. dom 优酷得弹出
  7. C++中的INL
  8. UFLDL实验报告3:Self-taught
  9. js判断是否微信浏览器打开
  10. HADOOP都升级到2.5啦~~~
  11. Javascript刷新页面的几种方法:
  12. hdu 1298 T9(特里+DFS)
  13. python 九九乘法表!小练习
  14. java学习笔记----运算符
  15. GET和POST传送数据的限制
  16. Chrome插件:弹出桌面通知
  17. Python itertools模块详解
  18. js 创建对象的几种方法
  19. Numpy:ndarray数据类型和运算
  20. BZOJ1941:[SDOI2010]Hide and Seek(K-D Tree)

热门文章

  1. Java获取域名
  2. 诺基亚(Microsoft Devices Group)2014暑期实习生笔试题知识点
  3. 在MVC中使用泛型仓储模式和工作单元来进行增删查改
  4. C# Excel批注“哪种开发语言最好”
  5. DOM操作一
  6. Codility经典算法题之九:MissingInteger
  7. 微信的API都是通过https调用实现的,分为post方法调用和get方法调用。不需要上传数据的采用get方法(使用IntraWeb开发)
  8. gnss到底是什么呢
  9. contents属性
  10. hdu 1400 Mondriaan&#39;s Dream 解题报告