#P1383. 【CF】【800分】去年的子字符串
【CF】【800分】去年的子字符串
问题说明
Polycarp有一根绳子s[1…n]长度n由十进制数字组成。Polycarp对字符串执行以下操作s不超过一次(也就是说他可以改变0或1次):
Polycarp选择两个数字ii和jj (1≤i≤j≤n)并从s位置处的字符串i,i+1,i+2,…,j(即移除子字符串)s[i…j])。更正式地说,Polycarp转动着绳子。s扎进绳子里s1s2…si−1sj+1sj+2…sn.
例如,字符串s="20192020“可以变成字符串:
"2020“(在这种情况下)(i,j)=(3,6)或(i,j)=(1,4));
"2019220“(在这种情况下)(i,j)=(6,6));
"020“(在这种情况下)(i,j)=(1,5));
其他操作也是可能的,上面只列出了其中的几个。
Polycarp喜欢这串“2020“非常多,所以他想知道是否可以转动绳子。”s变成一根线“2020“在最多一个操作中?请注意,您可以执行零操作。
输入格式
第一行包含一个正整数。t (1≤t≤1000)-测试中测试用例的数量。然后t接下来是测试用例。
每个测试用例的第一行包含一个整数。nn (4≤n≤200)-字符串的长度s。下一行包含一个字符串。s长度n由十进制数字组成。允许字符串s从数字开始0.
输出格式
对于每个测试用例,在一个单独的行上输出:
"YES“如果波利卡能转动绳子s变成一根线“2020“在不超过一次操作的情况下(即他可以执行0或1次);
"NO“”其他情况。
2
8
20192020
5
20002
YES
NO