poj 1635 Subway tree systems(树的最小表示)
2024-09-03 23:26:41
Subway tree systems
题目大意:给出两串含有‘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");
}
}
最新文章
- Chrome调试中的奇技淫巧
- ajax请求!
- [转]Win7下安装配置sharepoint server 2010
- mysql数据库回滚
- C# 获取图片的EXIF 信息
- B. Om Nom and Dark Park
- UI开发核心问题-UI随屏幕自适应
- less的学习(css)
- C# WINFORM ListView用法详解(转)
- Tomcat 服务器及使用Eclipse绑定Tomcat并发布应用
- Android仿淘宝购物车demo
- OS X 平台的 8 个实用终端工具
- CI框架在控制器中切换读写库和读写库
- CocosCreator小栗子
- asp.net Identity 设置自定义登录
- ELK之elasticsearch6安装认证模块search guard
- Flume的Source
- JS-json-1
- Axure 图片轮播(广告通栏图片自动播放效果)
- Git中特别的命令
热门文章
- Eclipse_debug异常_Source not found
- php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组
- Java基础 之 System.getProperty()方法
- ngCookies都做了什么
- LOJ2722 「NOI2018」情报中心
- 使用Excel制作万年历(日历可A4纸打印)
- JS上传图片-通过FileReader获取图片的base64
- 我的日志app企划书1.0版本
- uboot 命令使用教程(uboot参数设置)
- ASP.NET MVC 3:缓存功能的设计问题