SWUN 狼人杀

题目来源:

http://218.194.91.48/acmhome/problemdetail.do?&method=showdetail&id=1163

描述

 
众所周知 acm 和 辩协 是好朋友,大家经常一起玩一个叫做狼人杀的游戏
 然而新任的法官zy同学对于算该拿几张角色牌这种事情十分的苦恼
 她希望聪明的你们可以写一个程序来帮助她~ 

 规则
 1.特殊角色: 女巫nw,预言家yyj,守卫sw,丘比特qbt,盗贼dz,猎人lr,白痴bc
 2.普通角色: 狼lr,普通村民ptcm
 3.特殊角色每种只有一名,普通角色不定
 4.好人正营: 女巫,预言家,守卫,丘比特,盗贼,猎人,白痴,普通村民
 5.邪恶正营: 狼(他们要杀人啊~)
 6.狼人每天晚上可以一起杀死一个人
 7.所有人每个白天可以一起投死一个他们以为是狼人的人(= =!一些愚蠢的好人会投死好人)
 8.综合6.7好人比较可怜。。所以请在最坏情况下维持场上好人比坏人多两到三个~ (如果总人数为奇数则多3,如果总人数为偶数则多2)
 9.当有盗贼这个特殊角色出现时,假设此时有n个人玩这次游戏,那么就必须有n+2张牌~
 

 

输入

 

首先输入n(0<n<100),表示来玩的人的个数,接下来x行(0<x<8)输入特殊角色的简称,记录本次游戏参加的特殊角色
输入end表示结束特殊角色输入

 

输出

 

按照规则输出此局需要的狼人的个数和普通村民的个数

 

样例输入

12
nw
yyj
sw
qbt
dz
bc
end

样例输出

5 3

 

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>

using namespace std;
int n;
char st[10];
int main(){
    int tot=0,lr,pt;
    scanf("%d",&n);
    if(!(n%2)) lr=(n-2)/2;
    else lr=(n-3)/2;
    pt=n-lr;
    while(scanf("%s",st),st[0]!='e'){
        if(!strcmp(st,"dz")) tot--;
        else tot++;
    }
    pt-=tot;
    printf("%d %d\n",lr,pt);
    return 0;
}  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值