列表

详情


NC216053. JHappyNewYear

描述

游戏背景

《猪国杀》是一种多猪牌类回合制游戏,一共有 3 种角色:主猪,忠猪,反猪。每局游戏主猪有且只有 1 只,忠猪和反猪可以有多只,每只猪扮演 1 种角色。

游戏目的

主猪 / MP:自己存活的情况下消灭所有的反猪。
忠猪 / ZP:不惜一切保护主猪,胜利条件与主猪相同。
反猪 / FP:杀死主猪。

游戏过程

游戏开始时,每个玩家手里都会有 4 张牌,且体力上限和初始体力都是 4 。

开始游戏时,从主猪开始,按照逆时针方向(数据中就是按照编号从 1 , 2, 3  的顺序)依次行动。

每个玩家自己的回合可以分为 2 个阶段:

各种牌介绍

每张手牌用 1 个字母表示,字母代表牌的种类。

基本牌

锦囊牌

装备牌

特殊事件及概念解释

注意:一旦达成胜利条件,游戏立刻结束,因此即使会摸 3 张牌或者还有牌可以用也不用执行了。

现在,我们已经知道每只猪的角色、手牌,还有牌堆初始情况,并且假设每个角色会按照如下的行为准则进行游戏。

几种行为

注意:忠猪不会跳反,反猪也不会跳忠;不管是忠猪还是反猪,能够跳必然跳

行动准则

共性

特性

输入描述

输入文件第一行包含两个正整数 n (2 <= n  <= 10)(2 <= n <=10) 和 m (0 <= m  <= 2000),分别代表玩家数和牌堆中牌的数量。数据保证牌的数量够用。

接下来 n 行,每行 5 个字符串,依次表示对第 i 只猪的角色和初始 4 张手牌描述。编号为 1 的肯定是主猪。

再接下来一行,一共 m 个字符串,按照从牌堆顶部到牌堆底部的顺序描述每张牌。

输出描述

在一行中输出一个整数,表示场上现在一共剩下多少张牌。

示例1

输入:

3 10
MP D D F F
ZP N N N D
FP J J J J
F F D D J J F F K D

输出:

22

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++11) 解法, 执行用时: 3ms, 内存消耗: 396K, 提交时间: 2021-01-22 16:34:54

#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d %d",&a,&b);
	c=(a*4)+b;
	printf("%d",c);
	return 0;
}

C(clang11) 解法, 执行用时: 9ms, 内存消耗: 344K, 提交时间: 2020-12-30 11:13:32

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d",&a,&b);
    c=4*a+b;
    printf("%d",c);
}

Python3(3.9) 解法, 执行用时: 13ms, 内存消耗: 2748K, 提交时间: 2020-12-30 10:49:31

a, b = [int(x) for x in input().split()]
print(4 * a + b)

上一题