哈尔滨理工大学第四届ACM程序设计竞赛J: xiaodao 我爱你!

来源:互联网 发布:tensorflow分布式搭建 编辑:程序博客网 时间:2024/04/29 18:43

Description

自从见到 xiaodao 的第一眼起,我就不可救药的爱上了她。
能和xiaodao一起玩儿游戏,真是荣幸之至。xiaodao爱玩抓石子,我果断就跟着混啦。
xiaodao 
在地面上均匀地撒上 N * M 的石子阵。(2 <= N , M <= 1e9)
xiaodao——
我不喜欢单身,所以如果 N * M 是奇数的话,我就会把最中间的那一个石子提前拿掉!
DS——
呵呵
xiaodao——
玩不玩啊,没诚意
DS——
玩儿,玩儿,xiaodao姐姐带我玩儿
xiaodao——
听着啊,我们每次找一个格子,它的四个顶点至少有一个没有被拿走的石子。
DS——
嗯嗯

xiaodao——如果四个顶点有石子,那么你可以把石子都拿走(不能剩下),如果没有石子你得再选一次,直到有拿走石子为止。
DS——
不太明白。
xiaodao——
啪!


xiaodao——我们规定,如果谁没有石子拿了,谁就输,听明白了么!
DS——
听明白了。
xiaodao——
你比我弱,你先拿,我后拿,我们轮流来。
我们知道xiaodao绝顶聪明的妹子,我们假设DS也很聪明,都能用最优策略。
我们想赶快知道结果——到底谁能赢得最后的胜利?


 

Input

第一行是一个整数 T 代表以下 T 组数据。

每组数据占一行,两个整数 N , M。(注意,当 N * M 为奇数的时候中心的那一个石子已经被拿走了)

Output

输出一行,如果是 DS 获胜那么输出 "DS"  否则输出 "xiaodao" . (不带引号)

Sample Input

22 23 3

Sample Output

DSxiaodao

Hint


1.       以下是两个样例的游戏开始的示意图


2.       对于非法情况的界定

如图,对于下图的N=9,M=9情况,√的代表合法操作,×的代表非合法操作。

非合法操作有两种——超出边界或者格子四个顶点没有石子。

 

自己多画几个图就能找到规律了

#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int main(){    int n,m;    while(~scanf("%d%d",&n,&m))    {        if(n%2==0 && m%2==0)        printf("DS\n");        else        printf("xiaodao\n");    }    return 0;}


 

0 0
原创粉丝点击