надо
я в этом не разбираюсь маршрут путешествия
вася — миллениал и стартапер, он может предложить искушенным путешественникам новый неизведанный опыт. его автобусный тур по европе обладает тремя ключевыми преимуществами по сравнению со всеми устаревшими турами, существовавшими до этого:
1. он кольцевой
2. он несократимый
3. в нём нечётное количество различных посещённых городов и никакой из городов, кроме начального, не посещается дважды
понятие «кольцевой» означает, что тур начинается и заканчивается в одном и том же городе. «несократимый» обозначает, что невозможно проехать из одного города маршрута в один из следующих городов маршрута напрямую по одной дороге так, чтобы по прежнему было посещено нечётное количество городов. посещенными считаются все города, лежащие на маршруте (нельзя проехать через город, не останавливаясь в нём).
васе найти хоты бы один кольцевой несократимый маршрут с нечётным количеством различных посещенных городов, в котором будет три или более различных городов.
формат входных данных
в первой строке задаётся два числа n и m (3 ≤ n ≤ 1, n ≤ m ≤ min(1, n×(n−1)/2)) — количество городов и дорог между ними.
в следующих m строках задаётся описание дорог. каждое описание состоит из двух различных чисел i и j (1 ≤ i, j ≤ n) — номеров городов, соединенных дорогой. все дороги двусторонние. между любой парой городов может существовать только одна дорога.
формат результата
выведите нечётное число k — количество различных городов на кольцевом несократимом маршруте.
в следующей строке выведите k + 1 число — номера городов в порядке их посещения на маршруте. первое и последнее число должно быть одинаковым.
если ответов несколько — выведите любой из них. гарантируется, что ответ всегда существует.
примеры
входные данные
5 6
1 2
2 3
3 4
4 5
1 5
1 3
результат работы
3
3 2 1 3
примечания
маршрут 1-2-3-4-5-1 не является несократимым, его сокращением является, например, ответ на тест.
class ArrayNegative{
public static void main(String args[]){
java.util.Scanner in = new java.util.Scanner(System.in); long eArray[] = new long[1];
while((eArray[eArray.length-1] = in.nextLong())!=-1010){
long nArray[] = new long[eArray.length+1];
for(int nCell = 0; nCell<eArray.length; nCell++)nArray[nCell]=eArray[nCell];
eArray = nArray;
} eArrayCell:
for(int cCell = 0; cCell<eArray.length-1; cCell++){
if(eArray[cCell]>0)continue;
else for(int eCell = cCell+1; eCell<eArray.length-1; eCell++)
if(eArray[eCell]>0){
eArray[eArray.length-1]=eArray[cCell];
eArray[cCell]=eArray[eCell];
eArray[eCell]=eArray[eArray.length-1];
continue eArrayCell;
}
break;
}
for(int cCell = 0; cCell<eArray.length-1; cCell++)System.out.print(eArray[cCell]+" ");
}
}
class ArrayNegative{
public static void main(String args[]){
java.util.Scanner in = new java.util.Scanner(System.in); long eArray[] = new long[1];
while((eArray[eArray.length-1] = in.nextLong())!=-1010){
long nArray[] = new long[eArray.length+1];
for(int nCell = 0; nCell<eArray.length; nCell++)nArray[nCell]=eArray[nCell];
eArray = nArray;
} eArrayCell:
for(int cCell = 0; cCell<eArray.length-1; cCell++){
if(eArray[cCell]>0)continue;
else for(int eCell = cCell+1; eCell<eArray.length-1; eCell++)
if(eArray[eCell]>0){
eArray[eArray.length-1]=eArray[cCell];
eArray[cCell]=eArray[eCell];
eArray[eCell]=eArray[eArray.length-1];
continue eArrayCell;
}
break;
}
for(int cCell = 0; cCell<eArray.length-1; cCell++)System.out.print(eArray[cCell]+" ");
}
}