17-比赛1 C - Binary Nim (栈的游戏)
题目描述
Tweedle-Dee 和 Tweedle-Dum 正在进行一场激烈的二进制 Nim 游戏。这是你没有玩过的船
新版本,游戏包含 N 个栈,每个栈只包含 0 和 1 的元素。
就像一般的 Nim 游戏一样,两人轮流行动。玩家在一回合中,必须选择一个非空的栈,然后
从栈顶取出至少一个元素。不过,Tweedle-Dee 只能从栈顶是 0 的栈中取出元素,而 Tweedle-Dum
只能从栈顶是 1 的栈中取出元素。无法行动的玩家落败。
Suzumo 懒得等游戏结束了。给定先手玩家,请求出谁会获胜。别忘了,Tweedle-Dee 和
Tweedle-Dum 都是王者级别的玩家,他们都会采取最优策略。
输入格式
输入的第一行包含一个整数 T,代表测试数据的组数。接下来是 T 组数据。
每组数据的第一行包含一个整数 N 和一个字符串 S,分别代表栈的数量和先手玩家的名称。
接下来 N 行,每行包含一个二进制串 B,代表一个栈。串的第一个字符代表栈顶。
输出格式
对于每组数据,如果 Tweedle-Dee 获胜,则输出一行“Dee”,否则输出一行“Dum”。
数据范围
• 1 ≤ T ≤ 500
• 1 ≤ N ≤ 50
• 1 ≤ |B| ≤ 50
• B 仅包含 0 和 1
• S 只会是“Dee”或者“Dum”
输入
2
2 Dee
101
010
2 Dum
101
010
输出
Dum
Dee
=======================================================================================================================================
比赛时未解决的题目:
学长的题解:

=======================================================================================================================================
代码如下:
# include <bits/stdc++.h>
using namespace std; char name[], Stack[]; int main ()
{
int T, n;
scanf("%d", &T);
while (T--) {
scanf("%d %s", &n, name);
int num_0 = , num_1 = ;
for (int i = ; i <= n; ++i) {
scanf("%s", Stack);
int len = strlen(Stack);
for (int j = ; j < len; ++j) {
if (Stack[j] == Stack[]) {
if (Stack[] == '') ++num_0;
else ++num_1;
}
}
}
if (name[] == 'e') puts(num_0 > num_1 ? "Dee" : "Dum");
else puts(num_1 > num_0 ? "Dum" : "Dee");
}
return ;
}
17-比赛1 C - Binary Nim (栈的游戏)的更多相关文章
- 51nod1069【Nim取石子游戏】
具体看:萌新笔记之Nim取石子游戏可以这么写: #include <bits/stdc++.h> using namespace std; typedef long long LL; in ...
- 萌新笔记之Nim取石子游戏
以下笔记摘自计算机丛书组合数学,机械工业出版社. Nim取石子游戏 Nim(来自德语Nimm!,意为拿取)取石子游戏. 前言: 哇咔咔,让我们来追寻娱乐数学的组合数学起源! 游戏内容: 有两个玩家面对 ...
- 吐泡泡(2018年全国多校算法寒假训练营练习比赛(第二场)+栈模拟)+Plug-in(codeforces81A+栈模拟)
吐泡泡题目链接:https://www.nowcoder.com/acm/contest/74/A 题目: 思路: 这种题目当初卡了我很久,今天早训时遇到一个一样得题,一眼就想到用栈模拟,就又回来把这 ...
- CLRS10.1-7练习 - 用双队列实现栈
算法中心思想: 始终向非空队列进行入队操作 初始化时两个队列都为空,我们对q1进行入队操作 入栈: 只需执行其中一个队列入队操作即可, 具体操作哪一个队列,用一个标记变量标记 出栈流程图 代码实现 p ...
- [CareerCup] 17.2 Tic Tac Toe 井字棋游戏
17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...
- [CareerCup] 17.5 Game of Master Mind 猜字游戏
17.5 The Came of Master Mind is played as follows: The computer has four slots, and each slot will c ...
- Codeforces 15C Industrial Nim 简单的游戏
主题链接:点击打开链接 意甲冠军: 特定n 下列n行,每一行2的数量u v 表达v礧:u,u+1,u+2···u+v-1 问先手必胜还是后手必胜 思路: 首先依据Nim的博弈结论 把全部数都异或一下, ...
- poj2368 Buttons Nim取石子游戏
链接:http://poj.org/problem?id=2368 和前面差距还是很大啊囧 代码: k,a;main(i){,i=;i<=k/&&k%i;++i);k%i||(a ...
- HDU 2516 (Fabonacci Nim) 取石子游戏
这道题的结论就是,石子的个数为斐波那契数列某一项的时候,先手必败:否则,先手必胜. 结论很简单,但是证明却不是特别容易.找了好几篇博客,发现不一样的也就两篇,但是这两篇给的证明感觉证得不清不楚的,没看 ...
随机推荐
- (C# 基础) 接口
接口是表示一组函数成员,而不实现成员的引用类型.类和结构可以实现接口. 例如BCL声明了一个叫做IComparable的接口,包含了一个CompareTo方法, 但没有实现其方法,用“:”结尾. pu ...
- python数据类型和数据运算
数字 整型 包括正整数和负整数,和数学的表示方法一样.如:1.100.8008.-12等. 浮点型 浮点数字也称为小数,如果按照科学计数法表示时,小数点的位置是可变的.如:1.23x109==12.3 ...
- Java 空对象设计模式(Null Object Pattern) 讲解
转自:http://www.cnblogs.com/haodawang/articles/5962531.html 有时候我们的代码中为避免 NullPointerException 会出现很多的对N ...
- Google面试准备
本人小弱,面试过了Google的HC,虽然team match还没完成,到最后还有变数.但对自己这段时间的努力,也算一个交代了. 最初是一年半前Google的HR联系到我,然后第一次在电面就挂了.经过 ...
- System Center Configuration Manager 2016 必要条件准备篇(Part3)
步骤3.安装SQL Server 2017 注意:在Configuration Manager服务器(CM16)上以本地管理员身份执行以下操作 按照https://go.microsoft.com ...
- Locust的官网及安装
Locust官网: https://docs.locust.io/en/latest/installation.html for Python 3: $ python3 -m pip install ...
- 小程序wx.request的POST方法的参数传输服务器接收不到
这是API里面的例子: 而实际这样,服务端拿到的是空值. 将header更改一下,application/x-www-form-urlencoded,则可以让服务器收到数据
- MySQL latch小结
lock和latch的比较 对于INNODB存储引擎中的latch可以通过命令 SHOW ENGINE INNODB MUTEX 看到latch的更多信息 说明: 列Type显示的总是 InnoD ...
- hdu-3015 Disharmony Trees---离散化+两个树状数组
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3015 题目大意: 有一些树,这些树的高度和位置给出.现在高度和位置都按从小到大排序,对应一个新的ra ...
- 【转】如何手动添加Android Dependencies包
在ADT16 之前可以在工程里面做关联,eclipse会在工程上自动添加ReferenceLibrary.新版本的ADT修改了第三方jar的导入方式,只需要在工程目录下新建libs文件夹,注意是lib ...