求助60分
查看原帖
求助60分
59388
VinstaG173かえで楼主2020/6/8 18:00

RT,k=30的点WA

#include<cctype>
#include<cstdio>
#include<cstring>
#define ll long long
int t,n,k,r,h;
int x[73];
ll a30[73];
ll ans;
inline void read()
{
	memset(x,-1,sizeof(x));
	char c=getchar();h=0;
    int flag=0;
	while(!isdigit(c))c=getchar();
	while(isdigit(c))
	{
		for(int i=0;i<h;++i)x[i]*=10;
		x[0]+=c-'0';
		if(flag==0&&c=='0')++x[0],++h;
		for(int p=0;x[p]!=-1;++p)
		{
            if(p==h)++h,++x[p];
			x[p+1]+=x[p]/(k+1);
			x[p]%=(k+1);
		}
		flag=1;
		c=getchar();
	}
}
int main()
{
	for(int i=0;i<31;++i)a30[i]=1ll<<i;
	a30[31]=(1ll<<31)-1ll;
	for(int i=32;i<47;++i)a30[i]=1ll<<(i-1);
	a30[47]=(1ll<<46)-(1ll<<31)+(1ll<<16)-1ll;
	for(int i=48;i<59;++i)a30[i]=1ll<<(i-2);
	scanf(" %d",&t);
	while(t--)
	{
		scanf(" %d %d",&n,&k);
		ans=0;
		if(k==30)
		{
			while(n--)
			{
				read();
				for(r=0;r<h&&x[r]!=k;++r);
				if(r==h)continue;
				ans^=a30[r];
			}
			printf("%s\n",ans?"Preempt.":"Leapfrog.");
		}
	}
	return 0;
}
2020/6/8 18:00
加载中...