题目:

链接:https://ac.nowcoder.com/acm/contest/283/D
来源:牛客网

小西买了一堆肥宅快乐水和肥宅快乐茶,准备和室友比谁更肥宅。
快乐水有A瓶,快乐茶B瓶。
小西和室友的规则是这样的:
1. 小西先手,轮流到每个人的回合,每个回合只能喝剩余数量较多的饮料
2. 满足规则1的同时,每次只能喝另一种饮料剩余数量的正整数倍
3. 满足1、2的同时,不能超额喝饮料,也就是说剩下2瓶的时候不能喝大于2瓶的数量。
4. 每个人在自己的回合如果能喝完剩下的其中一种饮料,那么就获得胜利。
例如A=10,B=2。
小西只能喝快乐水,且只能喝2/4/6/8/10瓶快乐水。小西可以喝10瓶快乐水直接获得胜利。

小西和室友都是肥宅,所以他们都会才采取为了胜利最优的行动。
现在请你判断小西是否能赢得胜利。
代码:
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<math.h>
typedef long long LL;
using namespace std;
int dfs(LL n,LL m,int a)
{
    if(n<m)
    {
        LL temp;
        temp=n,n=m,m=temp;
    }
    if(n%m==0)
    {
        return a;
    }
    if(n/m>=2)
        return a;
    else
    {
        return dfs(n-(n/m)*m,m,-a);
    }
}
int main()
{
    LL n,m;
    int t;
    cin>>t;
    while(t--)
    {
         cin>>n>>m;
    int l=dfs(n,m,1);
    if(l==1)
        printf("wula\n");
    else
        printf("mmp\n");
    }

}
View Code

 

posted on 2018-11-26 15:42  海苔  阅读(222)  评论(0编辑  收藏  举报