Palindrome Free Strings
메모리 제한1024 MB
각 물음표를 0 또는 1로 바꿔서 길이 5 이상인 회문 부분 문자열이 하나도 없는 문자열을 만들 수 있는지 판별한다.
문제
You are given a string consisting of characters 0, 1, and ?. You can replace each ? with either 0 or 1. Your task is to find if it is possible to assign each ? to either 0 or 1 such that the resulting string has no substrings that are palindromes of length or more.
입력
The first line of the input gives the number of test cases, . test cases follow.
Each test case consists of two lines.
The first line of each test case contains an integer , denoting the length of the string .
The second line of each test case contains a string of length .
출력
For each test case, output one line containing Case #x: y, where is the test case number (starting from 1) and is POSSIBLE if there is a possible resulting string that has no palindromic substrings of length or more, or IMPOSSIBLE otherwise.
제한
- .
- only consists of characters
0,1and?.
힌트
In Sample Case #1, to prevent the whole string from being a palindrome, the first and last question mark must be different characters.
If we replace first question mark with 0 and replace the last question mark with 1, we get 1000?1001. If the remaining ? is replaced by 1, we get 100011001, then the first characters form a palindrome of length . Otherwise, we get 100001001, the first characters are a palindrome of length .
If we replace first question mark with 1 we get 1001?0001. If the remaining ? is replaced by 1, we get 100110001, then the last characters form a palindrome of length . Otherwise, we get 100100001, the last characters are a palindrome of length .
Hence, there is no way to get a valid string.
In Sample Case #2, one of the valid strings after replacing all the ? is 10011.