zoukankan      html  css  js  c++  java
  • 嫖裤子序列

    链接:https://ac.nowcoder.com/acm/contest/2763/G
    来源:牛客网

    题目描述

    众所周知,trx喜欢白嫖,经常会把别人嫖的裤衩都不剩。

    现在有n条长度非严格递增的裤子,每条裤子都有一定的长度,trx打算从最短的裤子开始嫖,嫖完最短的又嫌太短又去嫖最长的,嫖完最长的又去嫖最短的,如此循环。

    请输出谭嫖裤序列(即trx白嫖裤子的长度顺序)

    输入描述:

    第一行一个整数,代表裤子个数n(1<n≤105)n(1<nleq10^5)n(1<n105)

    第二行n个整数,aia_iai代表第i条裤子的长度 (裤子长度a为非降序列)

    a1,a2,a3,......an(∀i≥2,1≤ai−1≤ai≤105)a_{1},a_{2},a_{3},......a_{n} (forall ige 2, 1le a_{i-1} leq a_{i} leq 10^5)a1,a2,a3,......an(i2,1ai1ai105)

    输出描述:

    一行为trx白嫖的序列
    示例1

    输入

    复制
    5
    1 2 3 4 5

    输出

    复制
    1 5 2 4 3
     
    题解:sort一遍,记录start和end,用flag来标识当前嫖的是start还是end
     
    #include <stdio.h>
    #include <algorithm>
    #define MAX 100005
     
    using namespace std;
     
    int main(){
        int n,start,end,s[MAX];
        bool flag;
        while(scanf("%d",&n)!=EOF){
            for(int i=0;i<n;i++){
                scanf("%d",&s[i]);
            }
            sort(s,s+n);
            start=0;    end=n-1;
            flag=true;
            for(int i=0;i<n;i++){
                if(i==n-1)  printf("%d
    ",s[start]);
                else{
                    if(flag){
                        printf("%d ",s[start]);
                        start++;
                        flag=!flag;
                    }
                    else{
                        printf("%d ",s[end]);
                        end--;
                        flag=!flag;
                    }
                }
            }
        }
        return 0;
    }


  • 相关阅读:
    jquery使用--常见前端效果实现
    Quartz —— Spring 环境下的使用
    java设计模式--外观模式(Facade)
    java设计模式--装饰模式(Decorator)
    Java开发中的23种设计模式详解(转)
    java设计模式--工厂模式
    选择排序
    序列化
    解析器
    版本控制
  • 原文地址:https://www.cnblogs.com/shiliuxinya/p/12168647.html
Copyright © 2011-2022 走看看