atcoder#ARC150A. [ARC150A] Continuous 1
[ARC150A] Continuous 1
题目描述
0
, 1
, ?
のみからなる長さ の文字列 が与えられます。
これから に含まれるすべての ?
を 0
, 1
のいずれかに置き換えることで、以下の条件がすべて満たされるようにしたいです。
- は
1
をちょうど 個含む。 - 個の
1
は連続している。すなわち、ある があって、1
が成り立つ。
条件を満たすような ?
の置き換え方がちょうど 通りであるか判定してください。
個のテストケースが与えられるので、それぞれについて答えを求めてください。
输入格式
入力は以下の形式で標準入力から与えられます。
各ケースは以下の形式で与えられます。
输出格式
行出力してください。 行目には 番目のテストケースについて、条件を満たすような ?
の置き換え方がちょうど 通りである場合は Yes
を、そうでない場合は No
を出力してください。
题目大意
给你一个长度为 的字符串 ,仅含 0
,1
,?
,问你能不能通过把?
变成 0
或 1
,有且仅有一种方案使得这个字符串有且仅有一段连续的 1
,且长度为 。
4
3 2
1??
4 2
?1?0
6 3
011?1?
10 5
00?1???10?
Yes
No
No
Yes
提示
制約
- は
0
,1
,?
のみからなる長さ の文字列 - 全テストケースに対する の総和は 以下
Sample Explanation 1
個目のテストケースについて、例えば を 101
に変えることができますが、この場合は 1
が連続していないため、条件を満たしません。 が条件を満たすようにするには を 110
に変えるしかありません。 個目のテストケースについて、 が条件を満たすようにするには を 1100
, または 0110
に変えればよく、条件を満たすような ?
の置き換え方は 通りあります。 個目のテストケースについて、 が条件を満たすよう ?
を置き換える方法は存在しません。