http://acm.timus.ru/problem.aspx?space=1&num=1136

水题

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<vector>
#include<queue>
#include<map>
#include<stack>
#include<algorithm>
#include<cmath>

using namespace std;
//#pragma comment(linker,"/STACK:1000000000,1000000000")

#define LL long long

const int INF=0x3f3f3f3f;
const int N=3005;
int a[N];
void dfs(int l,int r)
{
    if(l>r)
    return ;
    int i;
    for(i=l;i<r;i++)
    if(a[i]>a[r])
    break;
    dfs(i,r-1);
    dfs(l,i-1);
    cout<<a[r]<<" ";
}
int main()
{
    //freopen("data.txt","r",stdin);
    int n;
    while(cin>>n)
    {
        for(int i=0;i<n;++i)
        scanf("%d",&a[i]);
        dfs(0,n-1);
    }
    return 0;
}

 

posted on 2012-10-19 15:40  夜->  阅读(173)  评论(0编辑  收藏  举报