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

Задача . Спящая Красавица


Задача

Темы:
Спящая Красавица вот уже несколько столетий лежит в хрустальном гробу, в глубине горы, в пещере. В горе множество таких пещер, некоторые из них соединены тоннелями, проход по каждому из которых всегда одинаков по времени (ведь это сказка). У подножия горы есть два входа в тоннели. Иван-царевич отправился за царевной, чтобы поцеловать ее и разбудить от векового сна. Но Кащей Бессмертный, узнав об этом, тоже поторопился к горе, чтобы опередить царевича. Они одновременно оказались у горы, только у разных входов, причем у каждого из них есть карта тоннелей. 
Зная, какие тоннели связывают какие пещеры, определите, будет ли спасена Спящая Красавица.

Входные данные
В первой строке входного файла четыре числа: N, S, V1, V2 (1 <= N <= 1000; 1 <= S, V1, V2 <= N), где N - общее количество пещер, S - номер пещеры, в которой находится Спящая Красавица, V1, V2 - номера пещер-входов. V1 - номер входа, у которого находится Иван-царевич, V2 - номер входа, возле которого Кащей Бессмертный
В следующих N строках по N чисел - 1 или 0. Стоящий в I-ой строке на J-ом месте 0 означает отсутствие прохода из I-ой пещеры в J-ую, а стоящая 1 - наличие такого прохода.

Выходные данные
Вывести YES, если царевич успеет первым и спасет церевну, NO, если первым прибежит Кащей и похитит царевну. Если они одновременно окажутся в пещере с хрустальным гробом, Иван-царевич, без сомнения, сможет победить Кащея и спасет Спящую Красавицу. Если же ни один из них не доберется до царевны, а будет вечно бродить в лабиринтах горы, выведите FIASCO
Примеры
Входные данныеВыходные данные
1
4 1 4 3
0 1 0 1
1 0 1 0
0 1 0 0
1 0 0 0
YES
2
3 1 2 3
0 0 1
0 0 0
1 0 0
NO

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

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