Subway tree systems

POJ - 1635

题目大意:给出两串含有‘1’和‘0’的字符串,0表示向下搜索,1表示回溯,这样深搜一颗树,深搜完之后问这两棵树是不是同一棵树

/*
在poj上交需要加一个string头文件,不然会CE
树的最小表示
这里用的最小表示法就是将树的所有子树分别用1个字符串表示,要按字典序排序将他们依依连接起来。连接后如果两个字符串是一模一样的,那么他们必然是同构的。这样原问题就变成了子问题,子树又是一颗新的树。
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
string s1,s2;
string mn(string str){//得到树的最小表示
int dep=,st=;
vector<string>a;
string stemp;
for(int i=;i<str.size();i++){
dep+=str[i]==''?-:;
if(!dep){
stemp=""+mn(str.substr(st+,i-st))+"";
a.push_back(stemp);
st=i+;
}
}
sort(a.begin(),a.end());
stemp=string("");
for(int i=;i<a.size();i++)stemp+=a[i];
return stemp;
}
int main(){
freopen("Cola.txt","r",stdin);
int T;scanf("%d",&T);
while(T--){
cin>>s1>>s2;
string ss1=mn(s1);
string ss2=mn(s2);
if(ss1==ss2)puts("same");
else puts("different");
}
}

最新文章

  1. Chrome调试中的奇技淫巧
  2. ajax请求!
  3. [转]Win7下安装配置sharepoint server 2010
  4. mysql数据库回滚
  5. C# 获取图片的EXIF 信息
  6. B. Om Nom and Dark Park
  7. UI开发核心问题-UI随屏幕自适应
  8. less的学习(css)
  9. C# WINFORM ListView用法详解(转)
  10. Tomcat 服务器及使用Eclipse绑定Tomcat并发布应用
  11. Android仿淘宝购物车demo
  12. OS X 平台的 8 个实用终端工具
  13. CI框架在控制器中切换读写库和读写库
  14. CocosCreator小栗子
  15. asp.net Identity 设置自定义登录
  16. ELK之elasticsearch6安装认证模块search guard
  17. Flume的Source
  18. JS-json-1
  19. Axure 图片轮播(广告通栏图片自动播放效果)
  20. Git中特别的命令

热门文章

  1. Eclipse_debug异常_Source not found
  2. php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组
  3. Java基础 之 System.getProperty()方法
  4. ngCookies都做了什么
  5. LOJ2722 「NOI2018」情报中心
  6. 使用Excel制作万年历(日历可A4纸打印)
  7. JS上传图片-通过FileReader获取图片的base64
  8. 我的日志app企划书1.0版本
  9. uboot 命令使用教程(uboot参数设置)
  10. ASP.NET MVC 3:缓存功能的设计问题