有根树同构。参考论文《hash在。。。。》

 #include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
#include <climits>
#include <cmath> using namespace std; const int leaf_hash=;
const int pt=;
const int qt=;
char str1[], str2[];
char *p; int Hash()
{
int sum=;
if(*(p)==''&&*(p-)==''){
p++;
//cout<<"leaf_hash="<<endl;
return leaf_hash;
}
while(*p!='\0' && *p++ == '')//这个巧妙的循环,把子节点的hash值都加给了父节点,作为父节点的hash值
{
//cout<<"for"<<endl;
sum = (sum*(pt^Hash()))%qt;
}
// printf("sum==%d\n",sum);
return sum;
} int main()
{
// freopen("input.txt", "r", stdin);
int T;
scanf("%d", &T);
while(T--)
{
scanf("%s%s", str1, str2);
p = str1;
int a = Hash();
p = str2;
//cout<<a<<endl;
int b = Hash();
//cout<<b<<endl;
if(a == b)
{
puts("same");
}
else
{
puts("different");
}
}
return ;
}

最新文章

  1. android布局实践——模仿微信主界面
  2. 【javascript 技巧】谈谈setTimeout的作用域以及this的指向问题
  3. 用R语言的quantreg包进行分位数回归
  4. 把字符转换为 HTML 实体
  5. php/js互传cookie中文乱码的问题
  6. 转贴 IT外企那点儿事完整版
  7. 百度文库,linux下安装oracle客户端
  8. linux初学 :linux 常用命令(一)
  9. BNU 4188 Superprime Rib【BFS】
  10. php通过curl调用jpush接口实现消息的推送
  11. 安装Linux和Windows的双系统
  12. iOS学习——ViewController(六)
  13. IOS学习之路二十四(custom 漂亮的UIColor)
  14. JAVA中的数据结构 - 1,红黑树
  15. Office 365 开发概览系列文章和教程
  16. 2017ecjtu-summer training #1 UVA 12050
  17. 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题
  18. 网络操作基础(two)
  19. TODO java疑问
  20. webpack配置的基本介绍

热门文章

  1. IE版本的判断
  2. JavaScript--String 字符串对象属性
  3. BZOJ 2001 线段树+LCT (TLE)
  4. Android webview js 调用java方法报错&quot;Uncaught TypeError: Object [object Object] has no method xx
  5. Task.Run 和 Task.Factory.StartNew
  6. Sql Server 如何解决多并发情况下,出现的多个相同ID数据
  7. React Component 生命周期
  8. DB2使用收集
  9. Json——Json与JS的区别
  10. CSS——宠物demo