Олимпиадный тренинг

Задача . E. Удалить граф


Алиса и Боб играют с графом. У них есть неориентированный граф без петель и кратных ребер. Все вершины графа имеют степень равную \(2\). Граф может содержать несколько компонент связности. Обратите внимание, что если такой граф имеет \(n\) вершин, он будет иметь ровно \(n\) ребер.

Алиса и Боб ходят по очереди. Алиса ходит первой. За один ход игрок может выбрать \(k\) (\(l \le k \le r\); \(l < r\)) вершин, которые образуют связный подграф, и удалить эти вершины из графа, включая все инцидентные ребра.

Игрок, который не может сделать ход, проигрывает.

Предположим, для примера, что они играют на заданном графе с заданными \(l = 2\) и \(r = 3\):

Следующие множества вершин допустимы для первого хода Алисы:

  • \(\{1, 2\}\)
  • \(\{1, 3\}\)
  • \(\{2, 3\}\)
  • \(\{4, 5\}\)
  • \(\{4, 6\}\)
  • \(\{5, 6\}\)
  • \(\{1, 2, 3\}\)
  • \(\{4, 5, 6\}\)
Пусть Алиса выбрала подграф \(\{4, 6\}\).

Тогда следующие множества вершин допустимы для первого хода Боба:

  • \(\{1, 2\}\)
  • \(\{1, 3\}\)
  • \(\{2, 3\}\)
  • \(\{1, 2, 3\}\)
Пусть Боб выбрал подграф \(\{1, 2, 3\}\).

Алиса не может сделать ход, поэтому она проигрывает.

Вам дан граф размера \(n\) и целые числа \(l\) и \(r\). Кто победит, если Алиса и Боб играют оптимально.

Входные данные

Первая строка содержит три целых числа \(n\), \(l\) и \(r\) (\(3 \le n \le 2 \cdot 10^5\); \(1 \le l < r \le n\)) — количество вершин в графе и ограничения на количество вершин, которые Алиса или Боб могут выбрать одним ходом.

Следующие \(n\) строк содержат ребра графа: по одному в строке. \(i\)-я строка содержит два целых числа \(u_i\) и \(v_i\) (\(1 \le u_i, v_i \le n\); \(u_i \neq v_i\)) — описание \(i\)-го ребра.

Гарантируется, что степени всех вершин данного графа равны \(2\).

Выходные данные

Выведите Alice (регистро-независимо), если Алиса победит, или Bob в противном случае.

Примечание

В первом тесте даны те же входные данные, что и в условии.

Во втором тесте дан тот же граф, что и в условии, но \(l = 1\) и \(r = 2\)


Примеры
Входные данныеВыходные данные
1 6 2 3
1 2
2 3
3 1
4 5
5 6
6 4
Bob
2 6 1 2
1 2
2 3
3 1
4 5
5 6
6 4
Bob
3 12 1 3
1 2
2 3
3 1
4 5
5 6
6 7
7 4
8 9
9 10
10 11
11 12
12 8
Alice

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя