zoukankan      html  css  js  c++  java
  • timus 1136 Parliament(二叉树)

    Parliament

    Time limit: 1.0 second
    Memory limit: 64 MB
    A new parliament is elected in the state of MMMM. Each member of the parliament gets his unique positive integer identification number during the parliament registration. The numbers were given in a random order; gaps in the sequence of numbers were also possible. The chairs in the parliament were arranged resembling a tree-like structure. When members of the parliament entered the auditorium they took seats in the following order. The first of them took the chairman’s seat. Each of the following delegates headed left if his number was less than the chairman’s, or right, otherwise. After that he took the empty seat and declared himself as a wing chairman. If the seat of the wing chairman has been already taken then the seating algorithm continued in the same way: the delegate headed left or right depending on the wing chairman’s identification number.
    The figure below demonstrates an example of the seating of the members of parliament if they entered the auditorium in the following order: 10, 5, 1, 7, 20, 25, 22, 21, 27.
    Problem illustration
    During its first session the parliament decided not to change the seats in the future. The speech order was also adopted. If the number of the session was odd then the members of parliament spoke in the following order: the left wing, the right wing and the chairman. If a wing had more than one parliamentarian then their speech order was the same: the left wing, the right wing, and the wing chairman. If the number of the session was even, the speech order was different: the right wing, the left wing, and the chairman. For a given example the speech order for odd sessions will be 1, 7, 5, 21, 22, 27, 25, 20, 10; while for even sessions — 27, 21, 22, 25, 20, 7, 1, 5, 10.
    Determine the speech order for an even session if the speech order for an odd session is given.

    Input

    The first line of the input contains N, the total number of parliamentarians. The following lines contain N integer numbers, the identification numbers of the members of parliament according to the speech order for an odd session.
    The total number of the members of parliament does not exceed 3000. Identification numbers do not exceed 65535.

    Output

    The output should contain the identification numbers of the members of parliament in accordance with the speech order for an even session.

    Sample

    inputoutput
    9
    1
    7
    5
    21
    22
    27
    25
    20
    10
    
    27
    21
    22
    25
    20
    7
    1
    5
    10
    
    Problem Source: Quarterfinal, Central region of Russia, Rybinsk, October 17-18 2001
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #include <time.h>
    #include <string>
    #include <map>
    #include <stack>
    #include <vector>
    #include <set>
    #include <queue>
    #define inf 10000000
    #define mod 10000
    typedef long long ll;
    using namespace std;
    const int N=6005;
    const int M=50000;
    int power(int a,int b,int c){int ans=1;while(b){if(b%2==1){ans=(ans*a)%c;b--;}b/=2;a=a*a%c;}return ans;}
    int a[N];
    int w[N];
    int n,m,k;
    void dfs(int l,int r)
    {
        if(l==r){printf("%d ",w[r]); return;}
        if(l>r)return;
        for(int i=l;i<=r;i++){
            if(w[i]>w[r]){
                dfs(i,r-1);
                dfs(l,i-1);
                printf("%d ",w[r]);
                break;
            }
            if(w[i]==w[r]){
                dfs(l,i-1);
                printf("%d ",w[r]);
            }
        }
    }
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)scanf("%d",&w[i]);
        dfs(1,n);
        return 0;
    }
  • 相关阅读:
    STM32+ESP8266+AIR202基本控制篇-301-服务器单向SSL认证-MQTT服务器配置SSL单向认证(.Windows系统)
    STM32+ESP8266+AIR202基本控制篇-213-功能测试-微信小程序扫码绑定Air302(NB-IOT),并通过MQTT和Air302(NB-IOT)实现远程通信控制
    17-STM32+ESP8266+AIR202基本控制篇-完成功能2-微信小程序使用APUConfig配网绑定ESP8266,并通过MQTT和ESP8266实现远程通信控制
    Python 元类
    硬核!15张图解Redis为什么这么快
    Protobuf 中 any 的妙用
    Grpc性能压测方法:用ghz进行压测
    压测工具Locuse的使用
    Locust 多机器分布式测试
    kubespray部署kubernetes高可用集群
  • 原文地址:https://www.cnblogs.com/jianrenfang/p/5850698.html
Copyright © 2011-2022 走看看