NC200282. Fuse the Cube Fragment
描述
输入描述
输入一行一个整数n,表示小晶块的种类数。
数据规范:
* .
输出描述
输出两行,表示两种不同的融合方案,每行输出一种,使用编号表示使用哪种小晶块,每行输出内的编号之间使用一个空格符分隔。
注意:
1. 融合顺序无关,即与被认为是同一种融合方案。
2. 满足条件的融合方案可能不止有两种,任意合理的两种融合方案都会被认为是正确的。
示例1
输入:
5
输出:
3 2 5 3 4 5
示例2
输入:
7
输出:
2 3 5 7 4 6 5 7
C++14(g++5.4) 解法, 执行用时: 8ms, 内存消耗: 508K, 提交时间: 2020-06-14 13:20:47
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=n/2+1;i<=n;++i) cout<<i<<' '; cout<<endl; if(n%2==0){ for(int i=n/2;i<n;++i) cout<<i<<' '; }else{ for(int i=n/2;i<n-1;++i) cout<<i<<' '; cout<<n; } cout<<endl; return 0; }
Python3(3.5.2) 解法, 执行用时: 44ms, 内存消耗: 3912K, 提交时间: 2020-09-27 16:53:38
n=int(input()) for i in range(n//2+1,n+1): print(i,end=' ') print() if n%2==0: for i in range(n//2,n): print(i,end=' ') else: for i in range(n//2,n-1): print(i,end=' ') print(n)
C++ 解法, 执行用时: 7ms, 内存消耗: 548K, 提交时间: 2021-12-22 23:28:41
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int i=n/2+1; for(;i<=n;i++) cout<<i<<' '; cout<<endl<<2<<' '; for(i=3;i<=n;i+=2) cout<<i<<' '; return 0; }