Gym - 101981A Adrien and Austin(思维)

这是一个关于两人玩石子游戏的策略分析。当有n个石子,每次最多移走k颗(必须连续)时,先手通过特定策略可以确保胜利。若n为奇数或(n为偶数且k不等于1),先手有必胜策略;否则,后手有优势。提供的C++代码实现了这一判断。
摘要由CSDN通过智能技术生成

链接
在这里插入图片描述
题意:给你n个石子,每次都可以移走几颗,最多一次移K颗,但是必须是连续的!!!adrien先移,最后到谁那没有石子可移动了谁就赢了。两个人都采用最优策略,问谁会赢
在这里插入图片描述
分析:
如果是奇数个,先手先中间移走奇数个变为偶数个,也就分为相等的两半,后手移哪个,先手跟着移就行,因为只能移连续的,所以可以一直保持对称,先手跟着走完最后一步
如果偶数个,先手移走偶数个分为两段同上。如果是k=1,且是偶数个,先手必败。还有注意开局为0先手也必败

AC代码:

#include<bits/stdc++.h>
using namespace std;
int n,k,flag;
int main()
{
	flag=1;
	scanf("%d%d",&n,&k);
	if(n==0) 
	flag=2;
	else if(n%2==0&&k==1)
	flag=2;
	if(flag==1)
	printf("Adrien\n");
	else printf("Austin\n");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值