A. Exam
果然,并没有3分钟秒掉水题的能力,=_=||
n <= 4的时候特判。n >= 5的时候将奇数和偶数分开输出即可保证相邻的两数不处在相邻的位置。
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 int n; 7 cin >> n; 8 if(n <= 2) puts("1\n1"); 9 else if(n == 3) puts("2\n1 3\n"); 10 else if(n == 4) puts("4\n2 4 1 3\n"); 11 else 12 { 13 printf("%d\n", n); 14 vector<int> ans; 15 for(int i = 1; i <= n; i+=2) ans.push_back(i); 16 for(int i = 2; i <= n; i+=2) ans.push_back(i); 17 int sz = ans.size(); 18 for(int i = 0; i < sz; i++) 19 { 20 if(i) printf(" "); 21 printf("%d", ans[i]); 22 } 23 puts(""); 24 } 25 26 return 0; 27 }