当前位置:首页 > 芯闻号 > 充电吧
[导读]题面:A Simple Nim Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T

题面:


A Simple Nim Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 300    Accepted Submission(s): 211


Problem Description Two players take turns picking candies from n heaps,the player who picks the last one will win the game.On each turn they can pick any number of candies which come from the same heap(picking no candy is not allowed).To make the game more interesting,players can separate one heap into three smaller heaps(no empty heaps)instead of the picking operation.Please find out which player will win the game if each of them never make mistakes.  
Input Intput contains multiple test cases. The first line is an integer 1≤T≤100, the number of test cases. Each case begins with an integer n, indicating the number of the heaps, the next line contains N integers s[0],s[1],....,s[n−1], representing heaps with s[0],s[1],...,s[n−1] objects respectively.(1≤n≤106,1≤s[i]≤109)  
Output For each test case,output a line whick contains either"First player wins."or"Second player wins".  
Sample Input


2 2 4 4 3 1 2 4  
Sample Output


Second player wins. First player wins.  
Author UESTC  
Source 2016 Multi-University Training Contest 6  
题意:
    取石子游戏,有两种操作方式,一、在一堆中取任意颗石子,(大于0)。二、将一堆分成三堆,每堆数量大于0。取到最后一块石子的人获得胜利。

解题:
    先小数据打表求sg值,可以发现sg值的规律。当i%8==7时,其sg值为i+1,当i%8==0时,其sg值为i-1(sg[0]=0)。一个状态的sg值,是其后继状态sg值中未出现过最小整数,三堆的sg值是三堆石子数量sg值的异或。根据sg值的规律,可以求解问题,官方题解说是用数学归纳法证明。

代码:

#include#include#include#define LL long long
#define mod 1000000007
#define sz 100005
using namespace std;
int sg[sz];
bool vis[sz];
int main()
{
	//打表程序
	/*int tmp;
    sg[0]=0;
	for(int i=1;i<=50;i++)
	{
		memset(vis,0,sizeof(vis));
		for(int j=0;j<i;j++)
			vis[sg[j]]=1;
		for(int k=1;k<i;k++)
		{
			for(int m=1;m0)
                {
					tmp=sg[k]^sg[m]^sg[u];
					vis[tmp]=1;
				}
				else
					break;
			}
		}
		for(int x=0;;x++)
			if(!vis[x])
			{
				sg[i]=x;
				printf("sg[%d]: %dn",i,x);
				break;
			}
	}*/
	int t,n,tmp,s;
	scanf("%d",&t);
    while(t--)
	{
		s=0;
		scanf("%d",&n);
        while(n--)
		{
			scanf("%d",&tmp);
			if(tmp%8==7)
				s^=(tmp+1);
			else if(tmp%8==0)
				s^=(tmp-1);
			else
				s^=tmp;
		}
		if(s)
			printf("First player wins.n");
		else
			printf("Second player wins.n");
	}
	return 0;
}





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

央视《今日说法》栏目近期报道了一名90后程序员通过开发非法视频搬运软件在不到一年的时间里获利超700万,最终获刑的案例。

关键字: 程序员 软件

业内消息,近日美国麦肯锡公司的一份报告强调了芯片行业的劳动力挑战,在美国寻求吸引更多技术工人从事半导体制造之际,许多现有员工正在重新考虑是否要留下来。

关键字: 芯片

业内消息,近日美国商务部工业与安全局(BIS)根据出口管理条例(EAR)将中国电子科技集团旗下多个研究所、中电科芯片技术(集团)有限公司、中国科学技术大学,以及北京量子信息科学研究院、本源量子等 37 个中国实体添加到实...

关键字: 实体清单

5 月 11 日消息,鲲鹏昇腾开发者大会昨日在北京中关村国际创新中心举办,主题为“心怀挚爱,共绽光芒”,会上推出了原生使能计划、启动鲲鹏昇腾科教创新卓越中心、鲲鹏昇腾原生创新汇等。

关键字: 华为 鲲鹏昇腾

近日路透社援引知情人士的消息称,美国商务部正考虑推动一项新的监管措施,将限制 AI 模型的出口,初步计划对 ChatGPT 等大模型采取行动。

关键字: AI

西班牙电信集团Telefónica的德国子公司Telefónica Germany日前与AWS达成一项构建5G核心网的协议。

关键字: 西班牙电信 AWS 诺基亚 5G

面对人工智能(AI),乐观者纷纷用金钱投票。

关键字: AI 亚马逊 Meta 谷歌 微软

上海2024年5月9日 /美通社/ -- 2024年5月6日,国际公认的测试、检验和认证机构SGS通标标准技术服务有限公司(以下简称“SGS”)为上海复旦微电子集团股份有限公司(以下简称“复旦微电子集团”)颁发了ISO...

关键字: ISO 微电子 半导体 TI

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

韩国大田2024年5月9日 /美通社/ -- 机器人平台专业公司Rainbow Robotics(首席执行官Jungho Lee)将从5月8日起开启移动双臂机器人RB-Y1的预售。

关键字: 移动 双臂机器人 ROBOTICS AI
关闭
关闭