题目名称 | 2555. [CCPC2015][HDU5548] 麻将 Mahjong |
---|---|
输入输出 | mahjong.in/out |
难度等级 | ★★★☆ |
时间限制 | 2000 ms (2 s) |
内存限制 | 256 MiB |
测试数据 | 5 |
题目来源 | cstdio 于2016-11-20加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:6, 提交:16, 通过率:37.5% | ||||
kito | 100 | 0.085 s | 19.82 MiB | C++ |
op_组撒头屯 | 100 | 0.109 s | 72.14 MiB | C++ |
_Itachi | 100 | 0.344 s | 1.06 MiB | C++ |
gls1196 | 100 | 0.532 s | 39.16 MiB | C++ |
半汪 | 100 | 2.765 s | 18.82 MiB | C++ |
cstdio | 100 | 5.981 s | 35.81 MiB | C++ |
liu_runda | 0 | 0.000 s | 0.00 MiB | C++ |
Hzoi_QTY | 0 | 0.001 s | 0.31 MiB | C++ |
op_组撒头屯 | 0 | 0.091 s | 72.14 MiB | C++ |
gls1196 | 0 | 0.798 s | 39.16 MiB | C++ |
关于 麻将 Mahjong 的近10条评论(全部评论) | ||||
---|---|---|---|---|
DP 套 DP,惊为天人!
修复了一下 MathJax 。
yrtiop
2023-02-19 22:54
4楼
| ||||
瞎写的DP,,,,加滚动数组就能A了...懒得加了...
| ||||
DP套DP,惊为天人!
_Itachi
2017-06-09 13:57
2楼
| ||||
mahjong.in
输出文件:mahjong.out
简单对比麻将源于中国,流行于世界。这道题不要求你会打麻将,而且我们将使用不同的规则。
在我们的麻将中,玩家有 $4K$ 张牌。每张牌上写着一个点数,$1\sim K$ 的每个点数都有四张完全相同的牌。例如,对于 $K=5$,牌组就是:$1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5$.
玩家的目标是从牌组中选出 $M$ 张,形成一副和牌。一幅和牌由若干(可能为零)个三元组和恰好一个对子组成。一个对子包含两张点数相同的牌。一个三元组要么是三张点数相等的牌(如 $222$),要么是三张点数连续的牌(例如,$345$)。不考虑点数循环的情况,例如,$451$ 不是合法的三元组。
给定 $K$ 和 $M$,求能够组成多少种不同的和牌方案。两种方案相同当且仅当它们包含的牌的集合相同,无论它们的三元组和对子为何。我们认为相同点数的牌完全相同。例如,对于 $K=4,M=8$,如下两种和牌相同:
$1 2 3, 1 2 3, 4 4$
$1 1, 2 3 4, 2 3 4$
第一行一个正整数 $T(1\le T\le 100)$,代表数据组数。
接下来 $T$ 行,每行两个正整数 $K(1\le K\le 200),M(2\le M\le \min\{200,4K\},M\equiv 2\pmod{3})$.
对每组数据,输出一行形如 $\mathrm{Case\ \#x:\ y}$,其中 $x$ 是第几组数据,从 $1$ 编号,$y$ 是和牌方案数模 $10^9+7$ 的值。
4 1 2 3 5 4 5 9 14
Case #1: 1 Case #2: 9 Case #3: 20 Case #4: 13259
对第一组数据,只有四张牌:$1,1,1,1$,因此唯一和牌方案为 $1 1$。
(注意所有的 $1$ 完全相同,所以不考虑你选取哪两张。)
对第二组数据,有 $12$ 张牌:$ 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3 $,和牌方案包含一个三元组和一个对子。九种方案如下:
$1 1 1, 2 2$
$1 1 1, 3 3$
$2 2 2, 1 1$
$2 2 2, 3 3$
$3 3 3, 1 1$
$3 3 3, 2 2$
$1 2 3, 1 1$
$1 2 3, 2 2$
$1 2 3, 3 3$
注意 $3 3, 1 1 1$ 和 $1 1 1, 3 3$ 相同,因为它们包含的牌的集合相同。
The 2015 China Collegiate Programming Contest