12347

#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>

using namespace std;

int pre[10001];
int in[10001];

ofstream wrt;

int search(int _in[],int a,int len)
{
	for(int i=0;i<len;i++)
	{
		if(_in[i]==a)
		return i;
	}
	return -1;
}
void printPostOrder(int _in[],int _pre[],int n)
{
	int root=search(_in,_pre[0],n);

	if(root!=0)
	printPostOrder(_in,_pre+1,root);
	if(root!=n-1)
	printPostOrder(_in+root+1,_pre+root+1,n-root-1);

	cout<<_pre[0]<<"\n";
	//wrt<<_pre[0]<<"\n";
}

int main()
{
	int i=0;
	int a;

	while(cin>>a)
	{
		//if(a==0)
		//break;
		in[i]=a;//.push_back(a);
		pre[i]=a;//.push_back(a);
		i++;

	}
	//wrt.open("w.txt");
	sort(in,in+i);

	printPostOrder(in,pre,i);

	//wrt.close();
	//for(int i=0;i<)
}

 

Leave a Reply

Your email address will not be published. Required fields are marked *