Сложность: 58%
В Иннополисе новое соревнование: битва роботов в камень-ножницы-бумага. Правда все крутые роботы заняты полноценной работой, поэтому в боях участвуют самые простые боты. Каждый из них всегда выбрасывает что-то одно: камень, ножницы или бумагу.
Роботы стоят в линию. Дальше судья может выбрать два соседних робота, и заставить их сыграть один раунд в камень-ножницы-бумагу. Если один из них выиграл другого, то проигравший выбывает из игры и его убирают из списка роботов, оставшиеся роботы при этом не меняют свой порядок в линии. При этом есть две версии правил. В первой из них, если роботы показали одно и тоже, судья может самостоятельно выбрать, какого из них удалить из игры. Во второй же версии, если если роботы показали одно и тоже, оба робота остаются. Робот побеждает, если все остальные роботы выбыли из игры.
Однако судье стало очень скучно вести бои, поэтому он хочет для каждого робота узнать, может ли он так выбирать пары в каждом раунде, чтобы этот робот победил. Помогите ему решить эту задачу!
Входные данные
Вам нужно будет решить несколько тестов.
В первой строке задано целое число () – число тестов во входных данных.
Далее заданы тестов, каждый из которых состоит из целого числа и строки.
Число обозначет версию правил, которая используется в текущей расстановке роботов .
Дальше идёт строка , в которой записано
() строчных букв английского алфавита r
, p
и s
, описывающих список роботов. Точнее, символы r
, p
и s
означают роботов, которые всегда показывают камень, бумагу и ножницы
соответственно.
Сумма по заданным тестам не превосходит .
Выходные данные
Выведите строк: по одному для каждого теста.
Строка должна содержать цифр 0
и 1
, для каждого от 1 до
запишите 1
, если судья может так выбирать пары для раундов, чтобы -й
робот победил, и 0
в противном случае.
Подзадачи
№ | баллы | необх. подзадачи | ограничения |
0 | 0 | - | Тесты из условия |
1 | 7 | - | |
2 | 9 | 1 | |
3 | 10 | 2 | |
4 | 11 | 3 | |
5 | 7 | 1 | |
6 | 13 | 2, 5 | |
7 | 10 | 3, 6 | |
8 | 33 | 4, 7 |
STDIN | STDOUT |
4 1 rpspp 2 pps 1 rpsps 2 rpssprsrr | 10111 001 10101 110010001 |
Примечание
Разберём первый тестовый пример: rpspp
, . Пронумеруем
роботов от 1 до 5 слева направо.
Для того чтобы остался робот с номером 1, судья может действовать следующим образом:
Судья выбирает роботов с номерами 4 и 5, они выбрасывают одно и тоже, поэтому судья решает что 5-й выбывает. Остаются роботы с номерами {1, 2, 3, 4}.
Судья выбирает роботов с номерами 2 и 3, 2-й выбывает. Остаются роботы с номерами {1, 3, 4}.
Судья выбирает роботов с номерами 3 и 4, 4-й выбывает. Остаются роботы с номерами {1, 3}.
Судья выбирает роботов с номерами 1 и 3, 3-й выбывает. Остался робот с номером 1.
Для робота с номером 2, судья не может избавиться от 1-го робота, не удаляя 2-го, поэтому 2-й не может победить.
Для того чтобы остался робот с номером 3, судья может действовать следующим образом:
Судья выбирает роботов с номерами 4 и 5, они выбрасывают одно и тоже, поэтому судья решает что 5-й выбывает. Остаются роботы с номерами {1, 2, 3, 4}.
Судья выбирает роботов с номерами 1 и 2, 1-й выбывает. Остаются роботы с номерами {2, 3, 4}.
Судья выбирает роботов с номерами 2 и 3, 2-й выбывает. Остаются роботы с номерами {3, 4}.
Судья выбирает роботов с номерами 3 и 4, 4-й выбывает. Остался робот с номером 3.
Для того чтобы остался робот с номером 4, судья может действовать следующим образом:
Судья выбирает роботов с номерами 4 и 5, они выбрасывают одно и тоже, поэтому судья решает что 5-й выбывает. Остаются роботы с номерами {1, 2, 3, 4}.
Судья выбирает роботов с номерами 2 и 3, 2-й выбывает. Остаются роботы с номерами {1, 3, 4}.
Судья выбирает роботов с номерами 1 и 3, 3-й выбывает. Остаются роботы с номерами {1, 4}.
Судья выбирает роботов с номерами 1 и 4, 1-й выбывает. Остался робот с номером 4.
Для того чтобы остался робот с номером 5, судья может действовать следующим образом:
Судья выбирает роботов с номерами 4 и 5, они выбрасывают одно и тоже, поэтому судья решает что 4-й выбывает. Остаются роботы с номерами {1, 2, 3, 5}.
Судья выбирает роботов с номерами 2 и 3, 2-й выбывает. Остаются роботы с номерами {1, 3, 5}.
Судья выбирает роботов с номерами 1 и 3, 3-й выбывает. Остаются роботы с номерами {1, 5}.
Судья выбирает роботов с номерами 1 и 5, 1-й выбывает. Остался робот с номером 5.
Разберём второй тестовый пример: pps
, . Пронумеруем
роботов от 1 до 3 слева направо.
Для робота с номером 1, судья не может избавиться от 2-го робота, не удаляя 1-го, поэтому 1-й не может победить.
Для робота с номером 2, судья не может избавиться от 1-го робота, не удаляя 2-го, поэтому 2-й не может победить.
Для того чтобы остался робот с номером 3, судья может действовать следующим образом:
Судья выбирает роботов с номерами 2 и 3, 2-й выбывает. Остаются роботы с номерами {1, 3}.
Судья выбирает роботов с номерами 1 и 3, 1-й выбывает. Остался робот с номером 3.