#P13054. [GCJ 2020 #1A] Pascal Walk

    ID: 12897 远端评测题 20000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学2020Special Judge构造Google Code Jam

[GCJ 2020 #1A] Pascal Walk

Description

帕斯卡三角形 由无限多行整数构成,每行的整数数量逐行递增,排列成三角形。

定义 (r,k)(r, k) 为第 rr 行从左数第 kk 个位置,其中 rrkk 均从 1 开始计数。帕斯卡三角形的构造遵循以下规则:

  • rr 行包含 rr 个位置 (r,1),(r,2),,(r,r)(r, 1), (r, 2), \ldots, (r, r)
  • 对于所有 rr,位置 (r,1)(r, 1)(r,r)(r, r) 的数字均为 11
  • 对于所有满足 2kr12 \leqslant k \leqslant r-1kk,位置 (r,k)(r, k) 的数字等于位置 (r1,k1)(r-1, k-1)(r1,k)(r-1, k) 的数字之和。

帕斯卡三角形的前 5 行如下所示:

在本问题中,帕斯卡游走 是指帕斯卡三角形中一个长度为 s\mathrm{s} 的位置序列 $\left(\mathrm{r}_{1}, \mathrm{k}_{1}\right), \left(\mathrm{r}_{2}, \mathrm{k}_{2}\right), \ldots, \left(\mathrm{r}_{\mathrm{s}}, \mathrm{k}_{\mathrm{s}}\right)$,满足以下条件:

  1. r1=1\mathrm{r}_{1}=1k1=1\mathrm{k}_{1}=1
  2. 每个后续位置必须在三角形内,并且与前一个位置相邻(六个可能方向之一)。即对于所有 i1\mathrm{i} \geqslant 1,$\left(\mathrm{r}_{\mathrm{i}+1}, \mathrm{k}_{\mathrm{i}+1}\right)$ 必须是以下之一且位于三角形内:$\left(\mathrm{r}_{\mathrm{i}}-1, \mathrm{k}_{\mathrm{i}}-1\right)$、$\left(\mathrm{r}_{\mathrm{i}}-1, \mathrm{k}_{\mathrm{i}}\right)$、$\left(\mathrm{r}_{\mathrm{i}}, \mathrm{k}_{\mathrm{i}}-1\right)$、$\left(\mathrm{r}_{\mathrm{i}}, \mathrm{k}_{\mathrm{i}}+1\right)$、$\left(\mathrm{r}_{\mathrm{i}}+1, \mathrm{k}_{\mathrm{i}}\right)$、$\left(\mathrm{r}_{\mathrm{i}}+1, \mathrm{k}_{\mathrm{i}}+1\right)$。
  3. 序列中不能重复访问同一位置。即对于任意 ij\mathrm{i} \neq \mathrm{j},必须满足 $\mathrm{r}_{\mathrm{i}} \neq \mathrm{r}_{\mathrm{j}}$ 或 $\mathrm{k}_{\mathrm{i}} \neq \mathrm{k}_{\mathrm{j}}$,或两者均不相等。

请构造一个长度 S500\mathrm{S} \leqslant 500 的帕斯卡游走,使得所访问位置中所有数字之和恰好等于 N\mathrm{N}。题目保证对于所有 N\mathrm{N},至少存在一个这样的游走。

Input Format

输入的第一行包含测试用例数量 T\mathrm{T}。随后是 T\mathrm{T} 个测试用例,每个用例占一行,包含一个整数 N\mathrm{N}

Output Format

对于每个测试用例,首先输出一行 Case #x:,其中 x\mathrm{x} 为测试用例编号(从 1 开始)。接着输出你构造的帕斯卡游走,共 S500\mathrm{S} \leqslant 500 行,每行格式为 ri ki\mathrm{r}_{\mathrm{i}} \ \mathrm{k}_{\mathrm{i}},表示游走的第 i\mathrm{i} 个位置 $\left(\mathrm{r}_{\mathrm{i}}, \mathrm{k}_{\mathrm{i}}\right)$。例如,第一行必须为 1 1,因为所有有效游走的起点均为 (1,1)(1,1)。游走中所有位置的数字之和必须严格等于 N\mathrm{N}

3
1
4
19
Case #1:
1 1
Case #2:
1 1
2 1
2 2
3 3
Case #3:
1 1
2 2
3 2
4 3
5 3
5 2
4 1
3 1

Hint

说明/提示

样例解释

  • 样例 #1 仅需起点位置即可满足要求。

  • 样例 #2 中,虽然存在更短的路径,但路径长度只需不超过 500 即可,无需最短。

  • 下图展示了样例 #3 的解决方案:

数据范围

  • 1T1001 \leqslant \mathrm{T} \leqslant 100

测试集 1(3 分,可见评测结果)

  • 1N5011 \leqslant \mathrm{N} \leqslant 501

测试集 2(11 分,可见评测结果)

  • 1N10001 \leqslant \mathrm{N} \leqslant 1000

测试集 3(21 分,隐藏评测结果)

  • 1N1091 \leqslant \mathrm{N} \leqslant 10^{9}

翻译由 DeepSeek V3 完成