CODEFORCES 534A 解题报告
这是日常训练赛的水题。本题属于SPJ,任意符合规则的序列都可通过。进行探究后可以发现,从n>=5时就可以将所有学生安排在同一教室,方法是构造奇偶序列,如1 3 5 2 4 6这样的即可满足条件。n<5时手算解,特判即可。这次输出没有卡格式。
以下是代码(可直接AC):
#include <iostream>
using std::cin;
using std::cout;
int main()
{
int n;
cin>>n;
if(n<5)
switch(n){
case 1://前4组解单独算
cout<<"1\n1";
break;
case 2:
cout<<"1\n1";
break;
case 3:
cout<<"2\n1 3";
break;
case 4:
cout<<"4\n3 1 4 2";
}else{
if(n%2)//分为n是奇数和偶数,构造奇偶序列
{
cout<<n<<'\n';
for(int i=1;i<=n;i+=2)
cout<<i<<' ';
for(int i=2;i<=n-1;i+=2)
if(i==n-1)
cout<<i;
else
cout<<i<<' ';
}else{
cout<<n<<'\n';
for(int i=1;i<=n-1;i+=2)
cout<<i<<' ';
for(int i=2;i<=n;i+=2)
if(i==n)
cout<<i;
else
cout<<i<<' ';
}
}
return 0;
}