#P13181. [GCJ 2017 Finals] Spanning Planning

    ID: 13004 远端评测题 60000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2017矩阵树定理Special Judge行列式Google Code Jam

[GCJ 2017 Finals] Spanning Planning

Description

一个无向图的生成树,是指在只使用该图已有边的前提下,包含所有 NN 个节点、且恰好有 N1N-1 条边、并且是一棵树的子图。

请你构造一个至少包含 22 个节点、且不超过 2222 个节点的图,使得该图恰好有 KK 种不同的生成树。(当且仅当两棵生成树所用的边集合不同,这两棵生成树才被认为是不同的。)图中每对节点之间至多有一条边,且不得包含自环(即节点与自身相连的边)。

保证对于下述范围内的每个 KK,都至少存在一种满足条件的图。

Input Format

输入的第一行包含一个整数 TT,表示测试用例的数量。接下来有 TT 组测试用例,每组测试用例包含一行,内有一个整数 KK,表示期望的生成树数量。

Output Format

对于每个测试用例,首先输出一行 Case #x: y,其中 xx 表示测试用例编号(从 11 开始),yy 表示你构造的图的节点数(yy 必须在 222222 之间)。接下来输出 yy 行,每行 yy 个字符,表示该图的邻接矩阵。第 ii 行第 jj 列为 11,表示第 ii 个节点与第 jj 个节点之间有一条边;为 00,表示没有边。注意,该邻接矩阵是对称的,且主对角线上的元素均为 00

如果存在多种答案,你可以输出任意一种。保证对于下述范围内的每个 KK,都至少存在一种合法解。

2
3
8
Case #1: 3
011
101
110
Case #2: 4
0111
1001
1001
1110

Hint

样例解释

在第 1 个用例中,图是一个三角形,去掉任意一条边都能得到一棵不同的生成树。

在第 2 个用例中,解中的可用边为 121-2131-3141-4242-4343-4。这 8 棵不同的生成树分别由如下边集定义:

  • 121-2131-3141-4
  • 121-2131-3242-4
  • 121-2131-3343-4
  • 121-2141-4343-4
  • 121-2242-4343-4
  • 131-3141-4242-4
  • 131-3242-4343-4
  • 141-4242-4343-4

限制条件

  • 1T3001 \leqslant T \leqslant 300

小数据集(30 分,测试集 1 - 可见)

  • 3K100003 \leqslant K \leqslant 10000

翻译由 GPT4.1 完成。