zoukankan      html  css  js  c++  java
  • P1305 新二叉树

    题目描述

    输入一串二叉树,用遍历前序打出。

    输入输出格式

    输入格式:

    第一行为二叉树的节点数n。(n leq 26n26 )

    后面n行,每一个字母为节点,后两个字母分别为其左右儿子。

    空节点用*表示

    输出格式:

    前序排列的二叉树

    // luogu-judger-enable-o2
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int x[10005],n,a,b,c,zt,pnt;
    char y;
    void print(int s)
    {
    	if(pnt==n)
    	{
    		return;
    	}
    	if(x[s]!=0)
    	{
    		y=x[s]-1+'a';
    		x[s]=0;
    		cout<<y;
    		pnt++;
    	}
    	if(x[s*2]!=0)
    	{
    		print(s*2);
    	}
    	else
    	{
    		if(x[s*2+1]!=0)
    		{
    			print(s*2+1);
    		}
    		else
    		{
    			if(s%2==0)
    			{
    				print(s/2);
    			}
    			else
    			{
    				s--;
    				print(s/2);
    			}
    		}
    	}
    }
    int main()
    {
    	cin>>n;
    	for(a=1;a<=n;a++)
    	{
    		for(b=1;b<=3;b++)
    		{
    			cin>>y;
    			if(y=='*')
    			{
    				continue;
    			}
    			else
    			{
    				if(a==1&&b==1)
    				{
    					x[1]=y-'a'+1;
    				}
    				if(b==1)
    				{
    					for(c=1;c<=3000;c++)
    					{
    						if(x[c]==y-'a'+1)
    						{
    							zt=c;
    							break;
    						}
    					}
    				}
    				if(b==2)
    				{
    					x[zt*2]=y-'a'+1;
    				}
    				if(b==3)
    				{
    					x[zt*2+1]=y-'a'+1;
    				}
    			}
    		}
    	}
    	print(1);
    //	for(a=1;a<=50;a++)
    //	{
    //		y=x[a]-1+'a'; 
    //		cout<<y;
    //	}
    }


  • 相关阅读:
    BFC
    js常用
    uploadify上传文件
    android初探
    springMVC
    java虚拟机
    java编程思想
    eclipse中创建maven项目
    struts2、spring和mybatis整合理解
    struts,spring和mybatis框架整合
  • 原文地址:https://www.cnblogs.com/ztz11/p/9189970.html
Copyright © 2011-2022 走看看