NC24434. Buy Fruits
描述
输入描述
仅一行一个整数。
输出描述
如果存在符合题目要求的序列:输出一行个整数--符合题目要求的序列,如果有多个序列满足要求,输出任意一个即可。输出需要保证:如果不存在符合题目要求的序列,输出。
示例1
输入:
8
输出:
6 3 7 2 0 5 1 4
说明:
示例2
输入:
10
输出:
8 4 9 1 3 0 6 2 5 7
说明:
C++14(g++5.4) 解法, 执行用时: 14ms, 内存消耗: 884K, 提交时间: 2019-05-03 20:01:23
#include<bits/stdc++.h> using namespace std; int main(){ int n; scanf("%d",&n); if(n==1)puts("0"); else if(n&1)puts("-1"); else{ printf("1"); for(int i=n-2;i>=0;i-=2)printf(" %d",i); for(int i=n-1;i>1;i-=2)printf(" %d",i); printf("\n"); } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 13ms, 内存消耗: 860K, 提交时间: 2019-06-23 16:35:37
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; if(n==1)printf("0"); else if(n%2==1)printf("-1"); else{ for(int i=n-1;i>=0;i-=2)printf("%d ",i); printf("0 "); for(int i=n-2;i>0;i-=2)printf("%d ",i); } }
Python3(3.5.2) 解法, 执行用时: 206ms, 内存消耗: 4928K, 提交时间: 2019-05-14 23:20:45
n=int(input()) if n==1: print(0) exit() if n&1: print(-1) exit() for i in range(n-1,0,-2): print(i,end=" ") print(0,end=" ") for i in range(n-2,0,-2): print(i,end=" ")