A47686.神甘宁-魄袭

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在游戏《三国杀》中,神甘宁是一名权一武将,拥有"魄袭"和"劫营"两个技能。其中,"魄袭"技能的具体描述如下:

出牌阶段限一次,你可以执行以下操作:

    1. 观看一名其他角色的手牌。
    1. 选择弃置你与其手牌中共计四张 不同花色\textbf{不同花色} 的牌(即四张牌的花色各不相同)。

根据你弃置的自己的牌数量\textbf{自己的牌数量},触发以下效果:

  • 弃置 0 \textbf{弃置 0 张}:你的体力上限减1。
  • 弃置 1 \textbf{弃置 1 张}:你结束出牌阶段,且本回合手牌上限减1。
  • 弃置 3 \textbf{弃置 3 张}:你回复1点体力。
  • 弃置 4 \textbf{弃置 4 张}:你摸4张牌(即"制衡"效果)。

现在我们用 a 代表梅花, b 代表红桃,c 代表方块, d 代表黑桃,并且已知以下信息:

  • 对手的手牌数量及每张牌的花色。
  • 你自己的手牌数量及每张牌的花色。

请根据"魄袭"技能的规则,依次判断以下四种情况是否能够实现:

  • 刚好弃置对手的 4 张手牌\textbf{刚好弃置对手的 4 张手牌}(即不弃置自己的牌)
  • 刚好弃置对手的 3 张手牌\textbf{刚好弃置对手的 3 张手牌}(即弃置自己的1张牌)
  • 回复自己 1 点体力\textbf{回复自己 1 点体力}(即弃置自己的3张牌和对手的1张牌)
  • 制衡 4 张牌\textbf{制衡 4 张牌}(即弃置自己的4张牌,不弃置对手的牌,然后摸4张牌)

为了方便理解,接下来进行举例说明:

1.假设对手的手牌为 a,a,b,ca, a, b, c, 自己的手牌为 a,b,c,da, b, c, d,我们可以有以下选择:

  • 弃置对手的 aa,弃置自己的 b,c,db, c, d, 然后回复自己 11 点体力,也可以通过弃置对手的 bb 和 弃置自己的 a,c,da, c, d 来达到同样的效果。
  • 弃置对手的 a,ba, b 且 弃置自己的 c,dc, d,本题不考察这种情况
  • 弃置对手的 a,b,ca, b, c 且 弃置自己的 dd, 结束出牌阶段,且本回合你的手牌上限减 11
  • 弃置自己的 a,b,c,da, b, c, d,然后进行制衡,摸 44 张牌。

2.假设对手的手牌为 a,b,c,da, b, c, d,自己的手牌为 aa,我们可以有以下选择:

  • 可以弃置对手的 a,b,c,da, b, c, d ,你的体力上限减 11
  • 可以弃置对手的 b,c,db, c, d 和自己的 aa,结束出牌阶段,且本回合你的手牌上限减 11

3.假设对手的手牌为 a,b,ca, b, c,自己的手牌为 a,b,ca, b, c,这样达不到任何效果,因为凑不齐 44 花色。

数据范围\large{数据范围}

  • 1T5×1031 \leq T \leq 5 \times 10^3
  • 2n+m160,1n,m1602 \leq n + m \leq 160, 1 \leq n, m \leq 160
  • 0a 的数量400 \leq a \ 的数量 \leq 40
  • 0b 的数量400 \leq b \ 的数量 \leq 40
  • 0c 的数量400 \leq c \ 的数量 \leq 40
  • 0d 的数量400 \leq d \ 的数量 \leq 40
  • si,ti{a,b,c,d}s_i, t_i \in \{'a', 'b', 'c', 'd'\}

输入格式

本题包含多组测试数据。

对于每一组测试数据:

第一行输入两个整数 n,mn, m,其中 nn 代表自己的牌数, mm 代表你对手的牌数。

第二行输入一个长度为 nn 的字符串 ss,代表自己的手牌花色。

第三行输入一个长度为 mm 的字符串 tt,代表对手的手牌花色。

输出格式

对于每个测试用例,请依次判断以下四种情况在满足"魄袭"技能条件是否可行,并输出对应的 44 位二进制字符串:

    1. 刚好弃置对手的 4 张手牌(即不弃置自己的牌)\textbf{刚好弃置对手的 4 张手牌}(即不弃置自己的牌)
    1. 刚好弃置对手的 3 张手牌(即弃置自己的1张牌)\textbf{刚好弃置对手的 3 张手牌}(即弃置自己的1张牌)
    1. 回复自己 1 点体力(即弃置自己的3张牌和对手的1张牌)\textbf{回复自己 1 点体力}(即弃置自己的3张牌和对手的1张牌)
    1. 制衡4张牌(即弃置自己的4张牌,不弃置对手的牌,然后摸4张牌)\textbf{制衡4张牌}(即弃置自己的4张牌,不弃置对手的牌,然后摸4张牌)

输出格式:

一个 440101 字符串(如1010),第 ii 位表示第 ii 种情况是否可行(11 表示可行,00 表示不可行)。

输入输出样例

  • 输入#1

    3
    4 4
    abcd
    aabc
    1 4
    a
    abcd
    3 3
    abc
    abc

    输出#1

    0111
    1100
    0000
    

说明/提示

对于样例 11 而言:

  • 弃置对手的 aa,弃置自己的 b,c,db, c, d, 然后回复自己 11 点体力,也可以通过弃置对手的 bb 和 弃置自己的 a,c,da, c, d 来达到同样的效果。
  • 弃置对手的 a,b,ca, b, c 且 弃置自己的 dd, 结束出牌阶段,且本回合你的手牌上限减 11
  • 弃置自己的 a,b,c,da, b, c, d,然后进行制衡,摸 44 张牌。

所以答案为 01110111

对于样例 22 而言:

  • 可以弃置对手的 a,b,c,da, b, c, d ,你的体力上限减 11
  • 可以弃置对手的 b,c,db, c, d 和自己的 aa,结束出牌阶段,且本回合你的手牌上限减 11

所以答案为 11001100

对于样例 33 而言:

因为凑不齐 44 花色,所以这样达不到任何效果。

所以答案为 00000000

首页