HDU-#4461 The Power of Xiangqi

        题目大意:给出象棋中棋子对应的能量值以及编号,给出红方和黑方目前的棋子编号,求谁的能量值更大,注意马炮同时存在总的能量值不变,否则减一。

       解题思路:直接对红黑两方的棋子进行能量值计数,然后标记是否同时存在马和炮,最后比较两个值输出答案即可,详见code。

       题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4461

       code:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int t,n,rans,bans;
bool rm,bm,rp,bp;
char str[2];
int map[8] = {16,7,8,1,1,2,3};

int main(){
    freopen("input.txt","r",stdin);
    scanf("%d",&t);
    while(t--){
        rans=0,bans=0;
        rm=false;bm=false;
        rp=false;bp=false;
        scanf("%d",&n);
        getchar();
        for(int i=0;i<n;++i){
            scanf("%s",str);
            rans+=map[str[0]-'A'];
            if(str[0]=='B') rm=true;
            if(str[0]=='C') rp=true;
        }
        scanf("%d",&n);
        getchar();
        for(int i=0;i<n;++i){
            scanf("%s",str);
            bans+=map[str[0]-'A'];
            if(str[0]=='B') bm=true;
            if(str[0]=='C') bp=true;
        }
        if(rm && rp);
        else rans--;
        if(bm && bp);
        else bans--;
        if(rans==bans) printf("tie\n");
        else if(rans>bans) printf("red\n");
        else printf("black\n");
    }
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值