#P3491. [POI 2009] SLW-Words
[POI 2009] SLW-Words
题目描述
Let be a function acting on strings composed of the digits 0 and 1. The function transforms the string by replacing (independently and concurrently) every digit 0 with 1 and every digit 1 with the string "10". For example , (i.e. assigns an empty string to the empty string). Note that is an injection, or a one - to - one function. By we denote the function composed with itself times. In particular, is the identity function .
We are interested in the strings of the form for . This sequence begins with the following strings:
"0", "1", "10", "101", "10110", "10110101".
We call the string a substring of the string if it occurs in as a contiguous (i.e. one - block) subsequence. A sequence of integers is given. Your task is to check whether a string of the form $h^{k_1}("0") \cdot h^{k_2}("0") \cdots h^{k_n}("0")$ is a substring of for some .
输入格式
The first line of the standard input contains a single integer , , denoting the number of test units. The first line of each test unit's description contains one integer , . The second line of each description holds non - negative integers , separated by single spaces. The sum of the numbers in the second line of any test unit description does not exceed 10000000.
输出格式
Your programme should print out lines to the standard output, one for each test unit. Each line corresponding to a test unit should contain one word: TAK (yes in Polish - if $h^{k_1}("0") \cdot h^{k_2}("0") \cdots h^{k_n}("0")$ is a substring of for some in that test unit, or NIE (no in Polish) otherwise.
2
2
1 2
2
2 0
TAK
NIE