← 查看本卷题目 第 55 / 86 题
编程题

斗地主

2 秒 / 测试点 · 1024 MiB · 20 个测试点 · 每点 5 分。

[NOIP 2015 提高组] 斗地主

题目背景

NOIP2015 Day1T3

题目描述

牛牛最近迷上了一种叫斗地主的扑克游戏。斗地主是一种使用黑桃、红心、梅花、方片的 AA 到 KK 加上大小王的共 5454 张牌来进行的扑克牌游戏。在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5<6<7<8<9<10<J<Q<K<A<2<小王<大王3<4<5<6<7<8<9<10<J<Q<K<A<2<\text{小王}<\text{大王},而花色并不对牌的大小产生影响。每一局游戏中,一副手牌由 nn 张牌组成。游戏者每次可以根据规定的牌型进行出牌,首先打光自己的手牌一方取得游戏的胜利。

现在,牛牛只想知道,对于自己的若干组手牌,分别最少需要多少次出牌可以将它们打光。请你帮他解决这个问题。

需要注意的是,本题中游戏者每次可以出手的牌型与一般的斗地主相似而略有不同。具体规则如下:

输入格式

第一行包含用空格隔开的 22 个正整数 T,nT,n,表示手牌的组数以及每组手牌的张数。

接下来 TT 组数据,每组数据 nn 行,每行一个非负整数对 ai,bia_i,b_i,表示一张牌,其中 aia_i 表示牌的数码,bib_i 表示牌的花色,中间用空格隔开。特别的,我们用 11 来表示数码 AA,1111 表示数码 JJ,1212 表示数码 QQ,1313 表示数码 KK;黑桃、红心、梅花、方片分别用 1−41-4 来表示;小王的表示方法为 0 1,大王的表示方法为 0 2。

输出格式

共 TT 行,每行一个整数,表示打光第 ii 组手牌的最少次数。

样例 1

1 87 48 49 110 411 15 11 41 1
3 

样例 2

1 1712 34 32 35 410 23 312 20 11 310 16 212 111 35 212 42 27 2 
6 

样例 3

见选手目录下的 landlords/landlords3.in 与 landlords/landlords3.ans。

说明 / 提示

样例 1 说明

共有 11 组手牌,包含 88 张牌:方片 77,方片 88,黑桃 99,方片 1010,黑桃 JJ,黑桃 55,方片 AA 以及黑桃 AA。可以通过打单顺子(方片 77,方片 88,黑桃 99,方片 1010,黑桃 JJ),单张牌(黑桃 55)以及对子牌(黑桃 AA以及方片 AA)在 33 次内打光。

对于不同的测试点, 我们约定手牌组数 TT 与张数 nn 的规模如下:

测试点编号 T=T= n=n=
1 100100 22
2 100100 22
3 100100 33
4 100100 33
5 100100 44
6 100100 44
7 100100 1010
8 100100 1111
9 100100 1212
10 100100 1313
11 100100 1414
12 100100 1515
13 1010 1616
14 1010 1717
15 1010 1818
16 1010 1919
17 1010 2020
18 1010 2121
19 1010 2222
20 1010 2323

数据保证:所有的手牌都是随机生成的。