Решение задачи Экзамен с Codeforces

Без пояснения   Просмотров: 36


Экзамен для n студентов будет проходить в длинной и узкой аудитории, таким образом, студенты будут сидеть в ряд в некотором порядке. Преподаватель подозревает, что студенты с соседними номерами ( i и i + 1) в течение обучения всегда сидели рядом и подружились, и если их посадить рядом на экзамене, то они наверняка будут помогать друг другу.

Требуется выбрать максимальное количество студентов и составить такой вариант порядка размещения студентов в аудитории, что никакие два студента с соседними номерами не сидят рядом.

Код

#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
	cin>>n;
	if(n<3)
	{
		cout<<1<<endl<<1;
		return 0;
	}
	if(n==3)
	{
		cout<<2<<endl<<1<<' '<<3;
		return 0;
	}
	cout<<n<<endl;
	for(int i=1;i<=n/2;i++)
		cout<<i*2<<' ';
	for(int i=0;i<=(n-1)/2;i++)
		cout<<i*2+1<<' ';
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться