Universal Cup Judging System

Universal Cup

时间限制: 2.0 s 内存限制: 256 MB 总分: 100
统计

板球世界杯是一项备受全球粉丝瞩目的赛事。在比赛期间,一个常见的问题是:某支特定的球队是否还有机会晋级半决赛(即进入前 4 名)?本题旨在解决此类查询。

共有 10 支球队参加板球世界杯:印度、澳大利亚、英格兰、新西兰、巴基斯坦、南非、斯里兰卡、阿富汗、孟加拉国和荷兰。我们将球队编号为 1 到 10,其中印度队编号为 1。

比赛采用循环赛制,每支球队与其他所有球队恰好进行一场比赛,比赛分布在多个阶段/轮次中。在每一轮中,每支球队参加一场比赛。比赛安排过程确保每支球队与其他所有球队恰好交手一次,总共进行 45 场比赛。

比赛的轮次可以通过下述数学方法系统地构建。

生成赛程的方法是循环赛法。在第 1 阶段,球队最初按升序排列(例如:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10])。然后通过将第一支球队与最后一支球队配对、第二支球队与倒数第二支球队配对,依此类推,直到中间的球队相遇来形成比赛。换句话说,在此阶段,比赛为 1 号队对阵 10 号队,2 对 9,3 对 8,4 对 7,5 对 6。

随后的阶段涉及球队列表的循环旋转,保持第一支球队的位置固定。在每个阶段,球队以镜像方式进行匹配。例如,在第二阶段,球队排列为 [1, 10, 2, 3, 4, 5, 6, 7, 8, 9],其中第一支球队对阵倒数第一支球队,第二支球队对阵倒数第二支球队,依此类推。在第三阶段,球队排列为 [1, 9, 10, 2, 3, 4, 5, 6, 7, 8]。

各轮比赛的具体细节也可以从下表中读取。

Round 1 Round 2 Round 3 Round 4 Round 5 Round 6 Round 7 Round 8 Round 9
1 vs 10 1 vs 9 1 vs 8 1 vs 7 1 vs 6 1 vs 5 1 vs 4 1 vs 3 1 vs 2
2 vs 9 10 vs 8 9 vs 7 8 vs 6 7 vs 5 6 vs 4 5 vs 3 4 vs 2 3 vs 10
3 vs 8 2 vs 7 10 vs 6 9 vs 5 8 vs 4 7 vs 3 6 vs 2 5 vs 10 4 vs 9
4 vs 7 3 vs 6 2 vs 5 10 vs 4 9 vs 3 8 vs 2 7 vs 10 6 vs 9 5 vs 8
5 vs 6 4 vs 5 3 vs 4 2 vs 3 10 vs 2 9 vs 10 8 vs 9 7 vs 8 6 vs 7

上述比赛按给定的顺序进行。

给定前 $k$ 场比赛的结果,你的任务是确定印度队是否还有机会晋级半决赛。

一支球队能够晋级半决赛的充要条件是其胜场数大于或等于所有球队中胜场数排名第四高的胜场数。(第四高的胜场数是通过将 10 个胜场数排序,然后取从后往前数的第四个得到的。)

前 $k$ 场比赛的结果以长度为 $k$ 的二进制字符串形式给出。设第 $i$ 场比赛在 $x$ 号队与 $y$ 号队之间进行。那么,如果字符串的第 $i$ 个字符(从 1 开始计数)为 1,则 $x$ 号队获胜,否则 $y$ 号队获胜。

输入格式

输入的第一行包含一个整数 $t$,表示测试用例的数量。接下来是 $t$ 个测试用例。

每个测试用例包含两行。第一行包含整数 $k$。下一行包含一个长度为 $k$ 的二进制字符串,表示比赛结果。

  • $1 \le t \le 10$
  • $1 \le k \le 45$

输出格式

对于每个测试用例,输出一行,包含 YES 或 NO,分别表示印度队是否还有机会晋级半决赛。

样例

输入格式 1

3
3
111
25
1000010101111111111010100
35
01111011110111101111011110111101111

输出格式 1

YES
YES
NO

说明

在第一个测试用例中,印度队赢得了它的第一场比赛,开局非常好。印度队可以晋级半决赛。最理想的晋级方式是赢得所有剩余的比赛 :)

在第二个测试用例中,印度队已经赢得了它已进行的所有比赛。

在第三个测试用例中,印度队输掉了它已进行的 7 场比赛中的全部比赛。印度队现在已经没有机会晋级半决赛了。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.