题目描述

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 (栈的游戏)的更多相关文章

  1. 51nod1069【Nim取石子游戏】

    具体看:萌新笔记之Nim取石子游戏可以这么写: #include <bits/stdc++.h> using namespace std; typedef long long LL; in ...

  2. 萌新笔记之Nim取石子游戏

    以下笔记摘自计算机丛书组合数学,机械工业出版社. Nim取石子游戏 Nim(来自德语Nimm!,意为拿取)取石子游戏. 前言: 哇咔咔,让我们来追寻娱乐数学的组合数学起源! 游戏内容: 有两个玩家面对 ...

  3. 吐泡泡(2018年全国多校算法寒假训练营练习比赛(第二场)+栈模拟)+Plug-in(codeforces81A+栈模拟)

    吐泡泡题目链接:https://www.nowcoder.com/acm/contest/74/A 题目: 思路: 这种题目当初卡了我很久,今天早训时遇到一个一样得题,一眼就想到用栈模拟,就又回来把这 ...

  4. CLRS10.1-7练习 - 用双队列实现栈

    算法中心思想: 始终向非空队列进行入队操作 初始化时两个队列都为空,我们对q1进行入队操作 入栈: 只需执行其中一个队列入队操作即可, 具体操作哪一个队列,用一个标记变量标记 出栈流程图 代码实现 p ...

  5. [CareerCup] 17.2 Tic Tac Toe 井字棋游戏

    17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...

  6. [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 ...

  7. Codeforces 15C Industrial Nim 简单的游戏

    主题链接:点击打开链接 意甲冠军: 特定n 下列n行,每一行2的数量u v 表达v礧:u,u+1,u+2···u+v-1 问先手必胜还是后手必胜 思路: 首先依据Nim的博弈结论 把全部数都异或一下, ...

  8. poj2368 Buttons Nim取石子游戏

    链接:http://poj.org/problem?id=2368 和前面差距还是很大啊囧 代码: k,a;main(i){,i=;i<=k/&&k%i;++i);k%i||(a ...

  9. HDU 2516 (Fabonacci Nim) 取石子游戏

    这道题的结论就是,石子的个数为斐波那契数列某一项的时候,先手必败:否则,先手必胜. 结论很简单,但是证明却不是特别容易.找了好几篇博客,发现不一样的也就两篇,但是这两篇给的证明感觉证得不清不楚的,没看 ...

随机推荐

  1. 【起航计划 008】2015 起航计划 Android APIDemo的魔鬼步伐 07 App->Activity->Persistent State 保存状态 SharedPreferences onPause onResume

    Android 提供了多种存储数据的方法,其中最简单的是使用Shared Preferences. Shared Preferences 可以存储 Key/value 对,Shared Prefere ...

  2. 新人学习微信小程序开发之框架篇

    大家好我是智哥,一名专注于前端领域的一名码农. 咱们今天主要来说说微信小程序, 最近一段时间微信群里的小程序,小游戏各种分享是突然一下子就爆发了,现在来看小程序作为微信的重磅功能无疑又是下一个风口.咱 ...

  3. 笨办法学Python(三十七)

    习题 37: 复习各种符号 现在该复习你学过的符号和 python 关键字了,而且你在本节还会学到一些新的东西.我在这里所作的是将所有的 Python 符号和关键字列出来,这些都是值得掌握的重点. 在 ...

  4. An internal error occurred during: "Generating JAX-WS Web Services".Unable to create JAXBContext

    使用myeclipse10 创建webservice时,提示错误: An internal error occurred during: "Generating JAX-WS Web Ser ...

  5. MSMQ学习笔记二——创建Message Queue队列

    一.创建Message Queue队列的主要流程 1.定义MQQUEUEPROPS 结构: 2.设置消息队列属性: 3.初始化MQQUEUEPROPS 结构: 4.调用MQCreateQueue创建队 ...

  6. graphql 项目搭建(二)

    一.Express基本框架 1.新建一个文件夹gql-server vscode 打开项目,在终端下输入yarn init -y 生成package.json 包(如果没安装yarn ,npm也一样, ...

  7. *205. Isomorphic Strings (string & map idea)

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  8. 关于Content-Type: multipart/form-data的支持

    关于Content-Type: multipart/form-data的支持  发布于 537天前  作者 yzhang226  303 次浏览  复制  上一个帖子  下一个帖子  标签: 无 今天 ...

  9. Poj(2421),Prim最小生成树

    题目链接:http://poj.org/problem?id=2421 最小生成树的变形,有的村庄已经连接了,就直接把他们的权值赋为0,一样的做最小生成树,Prim算法. #include <s ...

  10. java常用输出技巧,debug

    package control; import javax.swing.JFrame; public class DebugTest { public static void main(String[ ...