Untitled
unknown
plain_text
4 years ago
2.0 kB
10
Indexable
#include <stdio.h>
int pooh_turn(int n);
int piglet_turn(int n);
int A,B,Ma,Mb;
int Pooh[100005];
int Piglet[100005];
int I[100005];
int main()
{
int T,N;
char W[8];
int i,j,k;
int ans;
scanf("%d",&T);
for(i=0;i<T;i++)
{
scanf("%d %d %d %d %d %s",&N,&A,&B,&Ma,&Mb,W);
for(j=0;j<=N;j++)
{
Pooh[j]=2;
Piglet[j]=2;
}
for(j=0;j<Ma;j++)
{
scanf("%d",&I[i]);
}
for(j=0;j<Mb;j++)
{
scanf("%d",&I[i]);
}
if(W[1]=='o')
{
ans=pooh_turn(N);
if(ans)printf("Pooh\n");
else{printf("Piglet\n");}
}
else
{
ans=piglet_turn(N);
if(ans)printf("Piglet\n");
else{printf("Pooh\n");}
}
}
}
int pooh_turn(int n)
{
int i;
if(Pooh[n]==1)return 1;
if(Pooh[n]==0)return 0;
/*if(n==0)
{
Pooh[n]=0;
return 0;
}*/
if(n<=A)
{
Pooh[n]=1;
return 1;
}
for(i=0;i<Ma;i++)
{
if(n==I[i])
{
Pooh[n]=1;
return 1;
}
}
for(int i=1;n-i>=0&&i<=A;i++)
{
if(!piglet_turn(n-i))
{
Pooh[n]=1;
return 1;
}
}
Pooh[n]=0;
return 0;
}
int piglet_turn(int n)
{
int i;
if(Piglet[n]==1)return 1;
if(Piglet[n]==0)return 0;
/*if(n==0)
{
Piglet[n]=0;
return 0;
}*/
if(n<=B)
{
Piglet[n]=1;
return 1;
}
for(i=0;i<Mb;i++)
{
if(n==I[i])
{
Piglet[n]=1;
return 1;
}
}
for(int i=1;n-i>=0&&i<=B;i++)
{
if(!pooh_turn(n-i))
{
Piglet[n]=1;
return 1;
}
}
Piglet[n]=0;
return 0;
}Editor is loading...