基础算法题——牛牛和牛可乐的赌约2(题意混淆)

牛牛和牛可乐的赌约2

题目链接
牛牛感觉在上一次赌约中,情况对于自己非常不利,所以决定再赌一场。
这时候,牛蜓队长出现了:第一,绝对不意气用事;第二,绝对不漏判任何一件坏事;第三,绝对裁判的公正漂亮。
牛蜓队长带他们来到了一个棋盘游戏,棋盘左上角是(0,0)(0,0),这个棋盘在(x,y)(x,y)的位置有一个棋子,牛牛和牛可乐轮流移动这个棋子,这个棋子可以左移也可以上移,可以移动一格或者两格,直到不能再移动(即到(0,0)(0,0))的那个人算输。
如果原本在(x,y)(x,y),左移一格即为(x,y -1)(x,y−1),上移一格即为(x-1,y)(x−1,y)
这个时候,牛牛为了弥补上一局的不公平,决定要自己先手,如果两个人都用最优的策略,最后牛牛是否能获胜。


题目中描述:牛牛和牛可乐轮流移动这个棋子,这个棋子可以左移也可以上移,可以移动一格或者两格。
没有明确说明移动两格究竟能不能改变方向。
①、如果能改变方向,那么移动可能是左、上或者上、左或者左、左或者上、上,四种方式。
牛牛失败的判断条件:(x+y)%3 == 0
②如果不能改变方向,那么移动左、左或者上、上,两种方式。
牛牛失败的判断条件:abs(x-y)%3 == 0 || x == y


若分不清题意很可能导致与答案失之交臂。
按照AC代码来说,题目描述的是第②种情况。

#include<stdio.h>
#include<math.h>
#define ll long long
int main(){
	int t;
	scanf("%d", &t);
	
	while(t--){
		ll x, y;
		scanf("%lld%lld", &x, &y);
		if(x==y || abs(x-y)%3==0)
			printf("awsl\n");
		else
			printf("yyds\n");
	}
	
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值