首页 > 其他 > 详细

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

时间:2014-03-31 23:45:28      阅读:733      评论:0      收藏:0      [点我收藏+]

Description

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

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

bubuko.com,布布扣

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.       以下是两个样例的游戏开始的示意图

bubuko.com,布布扣bubuko.com,布布扣

2.       对于非法情况的界定

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

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

bubuko.com,布布扣

 

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

#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;
}


 

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

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

原文:http://blog.csdn.net/libin56842/article/details/22689039

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!