#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

来源/分类

codeforces ⭐ 800分