Kotlin Heroes: Episode 8 |
---|
Закончено |
Скажем, что две строки $$$s$$$ и $$$t$$$ рифмуются, если обе строки имеют длину хотя бы $$$k$$$, и их $$$k$$$ последних букв равны. Например, для $$$k = 3$$$ строки abcd и cebcd рифмуются, строки ab и ab не рифмуются, строки aaaa и aaaaa рифмуются, а строки abcd и abce — нет.
Вам задано $$$n$$$ пар строк $$$(s_i, t_i)$$$. Для каждой пары известно, должны ли строки рифмоваться или не должны.
Определите все возможные неотрицательные целые значения $$$k$$$, для которых пары, которые должны рифмоваться, рифмуются, а пары, которые не должны рифмоваться, не рифмуются.
Во входных данных заданы несколько наборов входных данных. В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных. Далее следуют сами наборы входных данных.
В первой строке каждого набора задано одно целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — количество пар строк.
В следующих $$$n$$$ строках заданы описания пар — по одной паре в строке. В $$$i$$$-й строке заданы строки $$$s_i$$$ и $$$t_i$$$ и метка $$$r_i$$$ через пробел. Строки непустые, состоят только из строчных букв латинского алфавита и длины строк не превосходят $$$2 \cdot 10^5$$$. Метка $$$r_i$$$ равна $$$1$$$, если строки должны рифмоваться, или $$$0$$$, если они не должны рифмоваться.
Гарантируется, что в каждом наборе входных данных есть хотя бы одна пара с $$$r_i$$$ равным $$$1$$$ и что суммарная длина строк по всем наборам входных данных не превосходит $$$4 \cdot 10^5$$$.
Для каждого набора входных данных, сначала выведите целое число $$$m$$$ — количество возможных неотрицательных целых значений $$$k$$$ таких, что пары, которые должны рифмоваться, рифмуются, а пары, которые не должны рифмоваться, не рифмуются. Далее выведите все данные значения $$$k$$$ (без повторений). Вы можете выводить их в любом порядке.
3 1 kotlin heroes 1 2 join kotlin 1 episode eight 0 4 abc abcdef 0 xyz zzz 1 aaa bba 0 c d 0
1 0 2 1 2 0
В первом наборе входных данных, если $$$k$$$ будет хотя бы $$$1$$$, то kotlin и heroes не будут рифмоваться.
Во втором наборе, для $$$k = 2$$$ join и kotlin рифмуются, и episode и eight не рифмуются.
Название |
---|