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 }
代码君

相关文章: