中国象棋
来源:互联网 发布:数据统计的网站 编辑:程序博客网 时间:2024/05/16 01:04
Think:
基础题 !!! 水题 !! 但是把我坑了 整整2个小时!!!! 思路就是 算出最后的offense power然后进行比较;
注意点:
只有马的 意思是指 玩家手上 有马无炮;
只有炮的 意思是指 玩家手上 有炮无马;
Problem Description
中国象棋在中国有着悠久的历史,属于二人对抗性游戏的一种。由于用具简单,趣味性强,成为流行极为广泛的棋艺活动。是我国正式开展的78个体育项目之一,为促进该项目在世界范围内的普及和推广,在中国古代,象棋被列为士大夫们的修身之艺,现在则被视为怡神益智的一种有益的活动。在棋战中,人们可以从攻与防、虚与实、整体与局部等复杂关系的变化中悟出某种哲理。
象棋是由两人轮流走子,以“将死”或“困毙”对方将(帅)为胜的一种棋类运动,对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜、负、和,对局即终了。轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走一着。双方各走一着,称为一个回合。
在今天这个游戏中,每个玩家有七种棋子。它们有三种属性值,分别为“name”、“offense power” and “symbol letter”。具体见下表:
现在给出红色棋子玩家和黑色棋子玩家的棋子,你的任务是比较哪名玩家的offense power值大,注意:如果一名玩家只有马或只有炮或两者都没有,那么这名玩家的offense power会减少 1,但是offense power值不会减少到0,也就是最小为 1。
Input
输入的第一行为一个整数 T(0 < T <=20),代表有 T 组测试数据。
对于每组测试数据:
第一行为红色棋子玩家的棋子,第一行的第一个为一个整数 n (0 < n <= 16)。代表该玩家有 n 个棋子,接下来 n 个字符为该名玩家的棋子。
第二行为黑色棋子玩家的棋子,格式同红色棋子玩家。
Output
对于每组测试数据,如果红色棋子玩家的offense power较大,输出“red”;如果黑色棋子玩家的offense power只较大,输出“black”;否则输出“tie”(输出均不含引号)。
Example Input
1
5 A A B B F
3 A B F
Example Output
red
#include<bits/stdc++.h>using namespace std;int keyword[10] = {16, 7, 8, 1, 1, 2, 3};int main(){ int T, i, j; int n; int ans[100]; // 0 --red 1 int flag1; //horse int flag2; //pao char key; while(cin >> T) { while(T --) { memset(ans, 0, sizeof(ans)); for (i = 0; i <= 1; i ++) { cin >> n; flag1 = 0; flag2 = 0; for (j = 1; j <= n; j ++) { cin >> key; ans[i] = ans[i] + keyword[key - 'A']; if (key == 'B') flag1 ++; if (key == 'C') flag2 ++; } if (flag1 == 0 && flag2 != 0) ans[i] --; else if (flag1 != 0 && flag2 == 0) ans[i] --; else if (flag1 == 0 && flag2 == 0) ans[i] --; if (ans[i] <= 0) ans[i] = 1; } if (ans[0] > ans[1]) cout << "red" << endl; if (ans[0] == ans[1]) cout << "tie" << endl; if (ans[0] < ans[1]) cout << "black" << endl; //cout << ans[0] << " " << ans[1] << endl; } } return 0;}
- 中国象棋
- 中国象棋
- 中国象棋
- 中国象棋
- 中国象棋
- 中国象棋源代码
- 中国象棋规则
- ajax中国象棋
- 中国象棋心得
- 中国象棋程序
- 中国象棋2
- 中国象棋3
- 中国象棋源码
- 中国象棋心得
- Qt中国象棋
- 中国象棋机器人
- [HAOI2009]中国象棋
- Android--中国象棋
- Java中List和Set接口
- Python-12 序列
- 数字1的数量
- javaweb浏览器get方式提交中文处理
- 一些基本的面试题
- 中国象棋
- 标绘点、线导出含高程值的表格数据
- 在敏捷项目中应用功能点方法示例
- 判断一棵二叉树是不是完全二叉树
- MySQL 5.6 for REHL 6.4编译安装
- jvm 新生代、老年代
- 移动端的导航栏联动(滚动监听)
- 《算法导论》第三章-第2节_练习(参考答案)
- 无向图的邻接矩阵存储