аля722
02.04.2020 01:25

надо
я в этом не разбираюсь маршрут путешествия
вася — миллениал и стартапер, он может предложить искушенным путешественникам новый неизведанный опыт. его автобусный тур по европе обладает тремя ключевыми преимуществами по сравнению со всеми устаревшими турами, существовавшими до этого:

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 не является несократимым, его сокращением является, например, ответ на тест.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ivolapseb
01.07.2020 17:57
Выполняя алгоритм, получаем следующий результат (15 итераций)

1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190  -> 4095
5. 0..4094  -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001

Если лень перебирать вручную, можно воспользоваться программой

var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
  begin
  writeln(k,' ',l,' ',r,' ',x);
  k := k + 1;
  if f < x then r := x - 1
    else l := x + 1;
  x := (l + r) div 2
  end;
writeln(k,' ',l,' ',r,' ',x);
end.
0,0(0 оценок)
Ответ:
lilli393
13.03.2020 17:38
// PascalABC.Net 3.0, сборка 1052
const
  Rus=['А'..'Я'];
var
  s:string;
  i,k,t:integer;
  c,c1,tc,sc:char;
  f:array['А'..'а'] of byte; // 'а' - это для 'Ё'
  ch:array['А'..'а'] of char;
begin
  Write('Введите строку: '); Readln(s);
  for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end;
  k:=0;
  for i:=1 to Length(s) do begin
    c:=UpCase(s[i]);
    if c in Rus then begin Inc(f[c]); Inc(k) end
    else
      if c='Ё' then begin Inc(f['а']); Inc(k) end;
  end;
  Writeln('Количество русских букв равно ',k);
  { сортировка массива со счетчиком количества букв }
  for c1:='А' to Pred('а') do
  for c:='А' to Pred('а') do
    if f[c]<f[Succ(c)] then begin
      t:=f[c]; tc:=ch[c]; sc:=Succ(c);
      f[c]:=f[sc]; ch[c]:=ch[sc];
      f[sc]:=t; ch[sc]:=tc
    end;
  Writeln('Частота встретившихся букв');
  c:='А';
  while (c<='а') and (f[c]>0) do begin
    if ch[c]='а' then ch[c]:='Ё';
    Writeln(ch[c],' - ',f[c]);
    Inc(c)
  end;
end.

Тестовое решение:
Введите строку: Когда я был парнишкой, носил я брюки клёш
Количество русских букв равно 33
Частота встретившихся букв
К - 4
И - 3
Л - 3
О - 3
А - 2
Б - 2
Н - 2
Р - 2
Ш - 2
Я - 2
Г - 1
Д - 1
Й - 1
П - 1
С - 1
Ы - 1
Ю - 1
Ё - 1
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота