NC200379. 谭嫖裤序列
描述
输入描述
第一行一个整数,代表裤子个数
第二行n个整数,代表第i条裤子的长度 (裤子长度a为非降序列)
输出描述
一行为trx白嫖的序列
示例1
输入:
5 1 2 3 4 5
输出:
1 5 2 4 3
示例2
输入:
6 1 2 2 3 3 4
输出:
1 4 2 3 2 3
C++14(g++5.4) 解法, 执行用时: 34ms, 内存消耗: 1252K, 提交时间: 2019-12-14 15:54:47
#include<bits/stdc++.h> using namespace std; int a[100080],n; int main() { scanf("%d",&n); for(int i=1;i<=n;++i)scanf("%d",a+i); int l=1,r=n,f=1,p; while(l<=r){ if(f)p=l++; else p=r--; f^=1; printf("%d ",a[p]); } return 0; }
C(clang 3.9) 解法, 执行用时: 26ms, 内存消耗: 1248K, 提交时间: 2019-12-14 13:29:09
#include <stdio.h> int a[100005]; int main() { int n,i; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",a+i); for(i=0;i<n/2;i++) { printf("%d %d ",a[i],a[n-i-1]); } if(n%2) printf("%d",a[i]); return 0; }
C++(clang++ 11.0.1) 解法, 执行用时: 27ms, 内存消耗: 1272K, 提交时间: 2023-01-21 13:07:58
#include<stdio.h> int a[100005]; int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n/2;i++){ printf("%d %d ",a[i],a[n-i-1]); } if(n%2) printf("%d",a[n/2]); return 0; }
Python3(3.5.2) 解法, 执行用时: 175ms, 内存消耗: 14568K, 提交时间: 2019-12-13 23:10:59
n=int(input()) l=list(map(int,input().split())) print(*[item for ll in [[l[i],l[n-i-1]]if i!=n//2-1 or n%2==0 else [l[i],l[i+2],l[i+1]] for i in range(n//2)] for item in ll])