新生赛第一题:dls的黑粉

Description

众所周知,邓老师在西邮有众多的应援团,其中邓老师西邮应援团东区分团和邓老师西邮应援团西区分团是主要的两个应援团,但是这两个应援团谁都看不上对面,都觉得自己才是邓老师唯一的应援团,觉得对方是黑粉,有一天,这两个应援团的粉丝们又在粉丝群吵起来了,邓老师实在受不了了,他提出了一个方案:让双方都派出一个人互相做一个游戏,谁输了,谁就是黑粉。

这个游戏的内容是这样的:有 nn 个石子,每个人都只能从中取出一个石子,特别的是,如果石子的总数是偶数,那么当前取石子的人可以取两个石子(当然,也可以只取一个石子),最后,如果有人取走了最后的石子,那么他就赢了。邓老师非常的聪明,他的粉丝们虽然不如邓老师,但是也可以在这场游戏中尽量选择有利于自己的方法。对于邓老师来说,它可以轻易的判断谁才是黑粉,但是他现在要去学习嵌入式,所以你现在需要帮邓老师判断一下谁才是黑粉。

Input

第一行有一个正整数 T(1\leq T\leq 100000)T(1≤T≤100000) ,表示这个题一共有 TT 组数据;

接下来 TT 行每一行都有一个正整数 n(1\leq n\leq 10^{15})n(1≤n≤1015) 和一个字符E或者W,E表示这组游戏中东区的粉丝为先手,W表示这组游戏中西区的粉丝为先手,这个整数和字符用空格隔开。

 

 

Output

对于每一个测试用例,输出包含一段字符串,如果这组游戏中东区的粉丝胜利了,那么你需要输出一行”west is anti-fan”,否则输出一行”east isanti-fan”,结果不带双引号。

 Sample Input 1 

9
8 W
2 E
5000 W
9494 E
114514 W
810975 E
1 W
1 E
1000000000000000 E

Sample Output 1

east is anti-fan
west is anti-fan
east is anti-fan
west is anti-fan
east is anti-fan
east is anti-fan
east is anti-fan
west is anti-fan
west is anti-fan

 题目分析:共n个石子,若n为奇数,只能拿走一个,若n为偶数,可以拿走一个或两个,最后拿走的胜。

n=1, 先手拿走一个,为必胜态,

n=2,先手可以拿走两个,为必胜态,

n=3,先手只能拿走一个,对方拿走两个,所以先手必败,

n=4,先手拿走一个,对方只能拿走一个,先手再拿走两个,所以先手必胜

综上,n=1,先手必胜,n=2时,先手必胜,n>2 时,n为奇数时,只能转移到 n-1 的状态,先手必败,n为偶数时,可以转移到 n-1 和 n-2 的状态,为了自己利益最大化,转移到 n-1 状态,所以先手胜。

注:

注意多组输入,一个输入对应一个输出,而不是输入所有数据,输出所有对应结果。

AC代码如下:

#include<stdio.h>

long long int n[100000];
char a[100000];

int main()
{
 int T;
 scanf("%d", &T);
 int i=0;

 while(T--)
 {
    scanf("%lld %c", &n[i], &a[i]);
     
    if (n[i] == 1)
    {
      if (a[i] == 'W') printf("east is anti-fan\n");
      else if (a[i] == 'E')  printf("west is anti-fan\n");
    }
    else
    {
      if (n[i] % 2 == 0)
      {
        if (a[i] == 'W')
         printf("east is anti-fan\n");
        else if (a[i] == 'E') printf("west is anti-fan\n");
      }
      else
      {
        if (a[i] == 'W')
        printf("west is anti-fan\n");
        else if (a[i] == 'E') printf("east is anti-fan\n");
      }
   }
   

 }
 
 return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值