记录编号 343445 评测结果 AWWEEEETTT
题目名称 Play with Power 最终得分 10
用户昵称 GravatarGod-Nan 是否通过 未通过
代码语言 C++ 运行时间 6.516 s
提交时间 2016-11-09 10:56:54 内存使用 3.30 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
void cool(int x,int y);
void clear();
int n,m,a,b;
int lz[10000][100];
int main()
{
	freopen("play.in","r",stdin);
	freopen("play.out","w",stdout);
	int i,p,k,l;
	scanf("%d%d",&n,&m);
	for(i=1;i<=m;i++)
	{
		scanf("%d%d",&a,&b);
		 if(a==1)
		
		 { printf("Missing\n");
		 /* bool f=0;
		  cool(a+1,b);
		 for(p=b;lz[a+1][p];p++)
		  if(lz[a+1][p]!=(p-b+1)%2+1)
		  {
		  	f=1;
	        if(lz[a+1][p]==1)
		     printf("Masha\n");
		     else
		    printf("Stas\n");
		    break;
	      }
	       if(!f)
	       printf("Missing\n");
		  */
	     }
		 else
		 {
		   cool(a,b);
		  if(lz[a][b]==1)
		 printf("Masha\n");
		 else if(lz[a][b]==2)
		 printf("Stas\n");
	     }
	     clear();
	}
	return 0;
}
void cool(int x,int y)
{
	if(lz[x][y])
	return ;
	
   int total=x,i;
   for(i=1;i<=y-1;i++)
    total*=x;
    
    if(total>n)
    {
      if((x+y-a-b)%2==0)
	  lz[x][y]=1;
	  else
	  lz[x][y]=2;
	  
	  return ;
    }
   	
   	cool(x+1,y);cool(x,y+1);
   	if((x+y-a-b)%2==0)
   	{
   		if(lz[x+1][y]==1||lz[x][y+1]==1)
   		 lz[x][y]=1;
   		 else
   		 lz[x][y]=2;
   	}
   	else
   	{
   		if(lz[x+1][y]==2||lz[x][y+1]==2)
   		 lz[x][y]=2;
   		 else
   		 lz[x][y]=1;
   		 
   		 return ;
   	}
}
void clear()
{
	int i,p;
	for(i=1;i<=100;i++)
	for(p=1;p<=100;p++)
	lz[i][p]=0;
	
	return ;
}