AT_utpc2021_i.Card Decks
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个牌堆,每个牌堆由 M 张卡片组成,每张卡片上分别写有 1 到 M 的某个数字,每个数字在每个牌堆中只出现一次。对于第 i 个牌堆,从上到下第 j 张卡片上写着 ai,j。
你可以对这些牌堆任意顺序、任意次数地进行以下两种操作:
- 操作 1:选择一个牌堆,将最上面的一张卡片移动到同一个牌堆的最底部。
- 操作 2:如果所有 N 个牌堆最上面的卡片上的数字都相同,则可以把这些卡片全部取出并吃掉。
请问,为了吃掉所有卡片,最少需要进行多少次操作 1?
输入格式
输入以如下格式从标准输入读入。
N M
a1,1 a1,2 … a1,M
⋮
aN,1 aN,2 … aN,M
输出格式
请输出一个整数,表示最少需要进行多少次操作 1。
输入输出样例
输入#1
4 3 2 3 1 1 2 3 2 1 3 3 2 1
输出#1
4
输入#2
7 6 1 2 3 4 5 6 3 5 6 1 4 2 2 5 4 3 6 1 5 1 2 4 6 3 3 2 6 5 4 1 4 1 2 5 3 6 6 5 4 3 1 2
输出#2
35
说明/提示
限制条件
- 输入均为整数。
- 1≤N≤2×105
- 1≤M≤22
- 1≤ai,j≤M
- ai,j=ai,k(j=k)
部分得分
- 若能正确解决 1≤M≤16 的数据,将获得 30 分。
样例说明 1
可以按如下方式进行操作:
- 对牌堆 2 执行操作 1。
- 对牌堆 4 执行操作 1。
- 执行操作 2(此时所有牌堆最上面的卡片都是 2)。
- 对牌堆 1 执行操作 1。
- 对牌堆 2 执行操作 1。
- 执行操作 2(此时所有牌堆最上面的卡片都是 1)。
- 执行操作 2(此时所有牌堆最上面的卡片都是 3)。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?