P13179 [GCJ 2017 Finals] Dice Straight

题目描述

你有一组特殊的 $N$ 个六面骰子,每个骰子的六个面上都标有六个不同的正整数。不同的骰子,其面上的数字编号可能不同。 你希望将部分或全部骰子排成一排,使得它们朝上的面所显示的数字能够组成一个顺子(即这些数字是连续的整数)。对于每个骰子,你可以自由选择哪一面朝上。 你能组成的最长顺子的长度是多少?

输入格式

输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 组测试用例。每组测试用例的第一行为一个整数 $N$,表示骰子的数量。接下来的 $N$ 行中,每行有六个正整数 $D_{ij}$,表示第 $i$ 个骰子的第 $j$ 个面的数字。

输出格式

对于每组测试用例,输出一行,内容为 `Case #x: y`,其中 $x$ 表示测试用例编号(从 1 开始),$y$ 表示能够组成的最长顺子的长度。

说明/提示

**样例解释** 在样例第 1 组中,可以通过选取第 4 个骰子的 $2$,第 3 个骰子的 $3$,第 1 个骰子的 $4$,以及第 2 个骰子的 $5$,组成一个长度为 $4$ 的顺子。 在样例第 2 组中,无法组成长度大于 $1$ 的顺子,只能得到最基本的长度为 $1$ 的顺子。 在样例第 3 组中,可以从一个骰子选 $1$,另一个骰子选 $2$,再从剩下的骰子选 $3$。注意,本组数据中有多个骰子的每个面上的数值完全相同。 **限制条件** - $1 \leq T \leq 100$。 - 对于所有 $i, j$,有 $1 \leq D_{ij} \leq 10^6$。 **小数据集(10 分,测试集 1 - 可见)** - 时间限制:~~60~~ 15 秒。 - $1 \leq N \leq 100$。 **大数据集(15 分,测试集 2 - 隐藏)** - 时间限制:~~120~~ 30 秒。 - $1 \leq N \leq 50000$。 - 所有测试用例中 $N$ 的总和 $\leq 200000$。 翻译由 GPT4.1 完成。