UOJ Logo Universal Online Judge

UOJ

#882. 【JOISC2024】乒乓球

附件下载 统计

在 JOI 王国举办了一场乒乓球比赛。 $N$ 只编号从 $1$ 到 $N$ 的海狸参加了这场比赛,并进行了一场循环赛。

你从 Bitaro 那里得知了关于比赛结果的以下信息。

  • 没有平局比赛。
  • 正好有 $M$ 种选择 $3$ 只海狸形成“三元悖论”。请注意,只有当以下两个条件之一恰好满足时,$3$ 只海狸 $i, j, k$($1 \leq i < j < k \leq N$)才形成“三元悖论”。
    • 海狸 $i$ 击败了海狸 $j$,海狸 $j$ 击败了海狸 $k$,海狸 $k$ 又击败了海狸 $i$。
    • 海狸 $i$ 击败了海狸 $k$,海狸 $k$ 击败了海狸 $j$,海狸 $j$ 又击败了海狸 $i$。

你不确定 Bitaro 提供的信息是否正确,所以你决定思考是否有任何与 Bitaro 提供的信息相符的比赛结果。编写一个程序,根据 Bitaro 提供的信息判断是否有任何比赛结果与信息相符,如果有,找出其中任意一种比赛结果。

输入格式

一个测试案例包括 $Q$ 个场景,编号从 $1$ 到 $Q$。每个场景指定以下数值。

  • 参加比赛的海狸数量 $N$。
  • 选择 $3$ 只形成“三元悖论”的海狸的方式数量 $M$。

输入数据的格式如下。

  • $Q$

每个场景的输入数据格式如下。

  • $N$ $M$

输出格式

对应各个场景,按照以下顺序将答案写入标准输出。

在某些场景中,如果有任何与信息相符的比赛结果,请按照以下方式输出。

  • Yes
  • $S_2$
  • $S_3$
  • ...
  • $S_N$

这里,$S_i$($2 \leq i \leq N$)是一个字符为 '0' 或 '1',长度为 $i-1$ 的字符串。$S_i$ 的第 $j$ 个字符为 '0' 表示海狸 $i$ 被海狸 $j$ 打败,为 '1' 表示海狸 $i$ 打败了海狸 $j$。如果存在多个结果,可以输出任何一个。

在某些场景中,如果没有任何与信息相符的比赛结果,请输出 No。

样例解释 1

有 $Q = 2$ 个场景。

在这个示例输出中,场景 $1$ 的结果是,海狸 $1$ 打败了海狸 $2$,海狸 $2$ 打败了海狸 $3$,海狸 $3$ 打败了海狸 $1$。因此,海狸 $1$、$2$、$3$ 形成了“三元悖论”。没有其他方式选择 $3$ 只海狸,所以有确切地 $1$ 种方式选择 $3$ 只形成“三元悖论”的海狸。

对应场景 $1$ 的另一个输出如下。

Yes
1
01

在场景 $2$ 中,没有任何与信息相符的比赛结果。因此,输出 No。

这个示例输入满足子任务 $2,3,4,5,6$ 的约束条件。

样例解释 2

在这个示例输出中,场景 $1$ 的结果是,海狸 $1$ 打败了海狸 $4$,海狸 $4$ 打败了海狸 $3$,海狸 $3$ 打败了海狸 $1$。因此,海狸 $1,3,4$ 形成了“三元悖论”。还有两种其他方式选择 $3$ 只形成“三元悖论”的海狸:选择海狸 $2,3,4$ 和选择海狸 $3,4,5$。因此,有确切地 $3$ 种方式选择 $3$ 只形成“三元悖论”的海狸。

这个示例输入满足所有子任务的约束条件。

约束条件

  • $1 \leq Q$.
  • $3 \leq N \leq 5000$.
  • $0 \leq M \leq \frac{1}{6} N(N - 1)(N - 2)$.
  • $Q$ 个场景中 $N$ 的总和不超过 5000
  • 给定值均为整数。

子任务

  1. (5 分) $M \leq N - 2$.
  2. (4 分) $Q$ 个场景中 $N$ 的总和不超过 7。
  3. (23 分) $Q$ 个场景中 $N$ 的总和不超过 20。
  4. (30 分) $Q$ 个场景中 $N$ 的总和不超过 150。
  5. (15 分) $Q$ 个场景中 $N$ 的总和不超过 600。
  6. (23 分) 无额外约束。