#P13214. [GCJ 2015 Qualification] Ominous Omino

    ID: 13038 远端评测题 5000~10000ms 1024MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>博弈论2015分类讨论Google Code Jam

[GCJ 2015 Qualification] Ominous Omino

Description

一个 NN-omino 是由 NN 个单位方格通过边完全连接而成的二维图形。更正式地说,11-omino 是一个 1×11\times 1 的单位正方形,而 NN-omino 是在一个 (N1)(N-1)-omino 的某一条或多条边上连接一个相邻的 1×11\times 1 单位正方形。对于本题,如果两个 NN-omino 通过旋转和/或翻转可以互相变换,则认为它们是相同的。例如,下面是所有可能的五种 44-omino:

下面是 108108 种可能的 77-omino 中的一部分:

Richard 和 Gabriel 要玩一个游戏,规则如下,给定预先确定的 X\mathbf{X}R\mathbf{R}C\mathbf{C}

  1. Richard 可以选择任意一种可能的 X\mathbf{X}-omino。
  2. Gabriel 必须至少使用一个该 X\mathbf{X}-omino,并可以任意多次使用任意 X\mathbf{X}-omino(包括 Richard 选择的那一个),将 R×C\mathbf{R}\times\mathbf{C} 的网格完全填满,不能有重叠或溢出。也就是说,每个格子必须被恰好一个 X\mathbf{X}-omino 的单元格覆盖,且不能有 X\mathbf{X}-omino 超出网格范围。Gabriel 可以随意旋转或翻转任意数量的 X\mathbf{X}-omino,包括 Richard 选择的那一个。如果 Gabriel 能完全填满网格,则他获胜;否则,Richard 获胜。

给定特定的 X\mathbf{X}R\mathbf{R}C\mathbf{C},Richard 能否选择一种 X\mathbf{X}-omino 保证自己获胜,还是无论 Richard 选择什么,Gabriel 都必胜?

Input Format

输入的第一行包含测试用例数 T\mathbf{T}。接下来的 T\mathbf{T} 行,每行包含三个用空格分隔的整数:X\mathbf{X}R\mathbf{R}C\mathbf{C}

Output Format

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 1 开始),yyRICHARD(如果存在至少一种选择能保证 Richard 获胜)或 GABRIEL(如果无论 Richard 选择什么 Gabriel 都能获胜)。

4
2 2 2
2 1 3
4 4 1
3 2 3
Case #1: GABRIEL
Case #2: RICHARD
Case #3: RICHARD
Case #4: GABRIEL

Hint

样例解释

对于第 1 个样例,Richard 只有一种 22-omino 可选——由两个单位格组成的 1×21\times 2 长条。不论 Gabriel 如何放置这个长条,都可以用另一个 1×21\times 2 长条正好填满 2×22\times 2 的网格,所以 Gabriel 获胜。

对于第 2 个样例,Richard 只能选择 1×21\times 2 的长条,但无论 Gabriel 如何放置它,都会剩下一个 1×11\times 1 的空格,无法用 22-omino 填满,所以 Richard 获胜。

对于第 3 个样例,Richard 可以选择 2×22\times 2 的正方形 44-omino。这个正方形无法完整放入 4×14\times 1 的网格,因此 Richard 获胜。

对于第 4 个样例,Richard 可以选择直线型 33-omino 或 L 形 33-omino。无论选择哪种,Gabriel 都可以用它填满网格。

数据范围

小数据集(8 分)

  • 时间限制:5 秒。
  • T=64\mathbf{T} = 64
  • 1X,R,C41 \leq \mathbf{X}, \mathbf{R}, \mathbf{C} \leq 4

大数据集(26 分)

  • 时间限制:10 秒。
  • 1T1001 \leq \mathbf{T} \leq 100
  • 1X,R,C201 \leq \mathbf{X}, \mathbf{R}, \mathbf{C} \leq 20

由 ChatGPT 4.1 翻译