【有根树的同构】ZOJ 1990/POJ 1635
2012-02-23 15:55
405 查看
有根树的同构的意思就是两棵树的形状一样,子树可以旋转,因此,当子树的子节点数相同就可以判断同构
不用建树,只需要利用dfs时遇到'1'的时候回溯就行,开一个数组hash[i] = j表示子结点数为i(包括自己)的结点为j个
0ms无压力
不用建树,只需要利用dfs时遇到'1'的时候回溯就行,开一个数组hash[i] = j表示子结点数为i(包括自己)的结点为j个
0ms无压力
int hash[801];//hash[i] = j表示子结点数为i(包括自己)的结点为j个 int get1(){ int n = 1; char c; while((c=getchar())=='0'){ n+=get1();//当前结点一直走下去直到遇到'1'要回头,利用了递归回溯 } hash ++; return n; } int get2(){ int n = 1; char c; while((c=getchar()) == '0'){ n+=get2(); } hash --; return n; } int main(){ int n; scanf("%d\n",&n); while(n--){ memset(hash,0,sizeof(hash)); get1(); get2(); bool ok = 1; int i; for(i=1;i<801 && ok;i++){ if(hash[i]!=0)ok=0; } if(ok)puts("same"); else puts("different"); } return 0; }
相关文章推荐
- poj 1635 由搜索序列判断树是否同构
- poj-1635 Subway tree systems(推断两个有根树是否同构)-哈希法
- 树的同构--poj 1635(有根树)ustc 1117 (无根树)
- poj-1635 Subway tree systems(判断两个有根树是否同构)-哈希法
- POJ 1635 Subway tree systems (树的同构)
- 同构树的判断 poj 1635
- POJ 1635 Subway tree systems(树同构)
- 地铁系统 POJ1635 subway tree systems 判断树同构 DFS搜索子串
- POJ1635【树的同构】【hash】
- poj 1635( 树的最小表示法判断同构 )
- 树的同构 poj 1635
- poj 1635 Subway tree systems (树同构)
- poj 1635 Subway tree systems 判断树的同构 树的最大最小表示法模板
- poj 1635 判断树是否同构
- poj 1635 树同构 记录成长历程
- POJ 1635 Subway tree systems Hash法判断有根树是否同构
- poj 1635 Subway tree systems(树的同构,经典)
- POJ 1635 Subway tree systems(HASH+判断两棵有根树是否同构)
- poj1635_树的同构
- POJ 2585 zoj 2193 Window Pains