记录编号 228669 评测结果 AAAAAAAAAA
题目名称 杀手游戏 最终得分 100
用户昵称 GravatarGaoErFu 是否通过 通过
代码语言 C++ 运行时间 0.017 s
提交时间 2016-02-19 14:30:18 内存使用 0.29 MiB
显示代码纯文本
#include<stdio.h>
#include<stdlib.h>
struct wj{
	int xie;
	int pai;
	int Bang;
	int Parry;
	int Grenade;
	int Ghost;
	int Miss;
	int Knife;
}a[2]={0};
char b[10]={0};
int main()
{
	freopen("bang.in","r",stdin);
	freopen("bang.out","w",stdout);
	int i,j,k;
	while(1)
	{
		a[0].xie=a[0].pai=a[0].Parry=a[0].Bang=a[0].Ghost=a[0].Grenade=a[0].Knife=a[0].Miss=0;
		a[1].xie=a[1].pai=a[1].Parry=a[1].Bang=a[1].Ghost=a[1].Grenade=a[1].Knife=a[1].Miss=0;
		for(i=0;i<4;i++)
		{
			scanf("%s",b);
			if(b[0]=='B')a[0].Bang++;
			else if(b[0]=='P') a[0].Parry++;
			else if(b[0]=='M') a[0].Miss++;
			else if(b[0]=='K') a[0].Knife++;
			else if(b[0]=='G'&&b[1]=='r') a[0].Grenade++;
			else if(b[0]=='G'&&b[1]=='h') a[0].Ghost++;
		}
		a[0].xie=4;
		a[0].pai=4;
		 for(i=0;i<4;i++)
		{
			scanf("%s",b);
			if(b[0]=='B')a[1].Bang++;
			else if(b[0]=='P') a[1].Parry++;
			else if(b[0]=='M') a[1].Miss++;
			else if(b[0]=='K') a[1].Knife++;
			else if(b[0]=='G'&&b[1]=='r') a[1].Grenade++;
			else if(b[0]=='G'&&b[1]=='h') a[1].Ghost++;
		}
		a[1].xie=4;
		a[1].pai=4;
		j=0;
	do{
		j=j%2;
		k=(j+1)%2;
		for(i=0;i<2;i++)
		{
			scanf("%s",b);
			if(b[0]=='=')break;
			else if(b[0]=='.')exit(0);
			else if(b[0]=='B'){a[j].Bang++;a[j].pai++;}
			else if(b[0]=='P') {a[j].Parry++;a[j].pai++;}	
			else if(b[0]=='M') {a[j].Miss++;a[j].pai++;}	
			else if(b[0]=='K') {a[j].Knife++;a[j].pai++;}	
			else if(b[0]=='G'&&b[1]=='r') {a[j].Grenade++;a[j].pai++;}	
			else if(b[0]=='G'&&b[1]=='h') {a[j].Ghost++;a[j].pai++;}	
		}
		if(a[j].pai!=0&&(a[j].Bang!=0||a[j].Knife!=0||a[i].Grenade!=0||a[j].Ghost!=0))	
		{
			if(a[j].Ghost>0)
			{
				if(a[j].Ghost>=a[k].Bang) 
				{
					a[j].pai-=a[j].Ghost;
					a[k].pai-=a[k].Bang;
					a[k].xie-=(a[j].Ghost-a[k].Bang);
					a[k].Bang=0;
					a[j].Ghost=0;
				}
				else 
				{
					a[j].pai-=a[j].Ghost;
					a[k].pai-=a[j].Ghost;
					a[k].Bang-= a[j].Ghost;
					a[j].Ghost=0;
				}
			}
			if(a[j].Knife>0)
			{
				a[k].xie-=a[j].Knife;
				a[j].pai-=a[j].Knife;
				a[j].Knife=0;
			}
			if(a[j].Grenade>0)
			{
				while(a[k].Parry>0&&a[j].Grenade>0)
				{
					a[j].Grenade--;
					a[j].pai--;
					a[k].Parry--;
					a[k].pai--;
					if(b[0]!='=')
					{
						scanf("%s",b);
					    if(b[0]=='B'){a[k].Bang++;a[k].pai++;}
			            else if(b[0]=='P') {a[k].Parry++;a[k].pai++;}	
			            else if(b[0]=='M') {a[k].Miss++;a[k].pai++;}	
			            else if(b[0]=='K') {a[k].Knife++;a[k].pai++;}	
			            else if(b[0]=='G'&&b[1]=='r') {a[k].Grenade++;a[k].pai++;}	
			            else if(b[0]=='G'&&b[1]=='h') {a[k].Ghost++;a[k].pai++;}
				    }
				}
				if(a[j].Grenade>0)
				{
					if(a[j].Grenade>=a[k].Miss)
					{
						a[j].pai-=a[j].Grenade;
					    a[k].pai-=a[k].Miss;
					    a[k].xie-=(a[j].Grenade-a[k].Miss);
					    a[k].Miss=0;
					    a[j].Grenade=0;
					}
					else 
					{
						a[j].pai-=a[j].Grenade;
					    a[k].pai-=a[j].Grenade;
					    a[k].Miss-=a[j].Grenade;
					    a[j].Grenade=0;
					}
				}
			}
			if(a[j].Bang>0)
			{
				if(a[k].Parry>0)
				{
					a[j].Bang--;
					a[j].pai--;
					a[k].Parry--;
					a[k].pai--;
					if(b[0]!='=')
					{
						scanf("%s",b);
					    if(b[0]=='B'){a[k].Bang++;a[k].pai++;}
			            else if(b[0]=='P') {a[k].Parry++;a[k].pai++;}	
			            else if(b[0]=='M') {a[k].Miss++;a[k].pai++;}	
			            else if(b[0]=='K') {a[k].Knife++;a[k].pai++;}	
			            else if(b[0]=='G'&&b[1]=='r') {a[k].Grenade++;a[k].pai++;}	
			            else if(b[0]=='G'&&b[1]=='h') {a[k].Ghost++;a[k].pai++;}
				    }
				}
				else if(a[k].Miss>0)
				{
					a[j].Bang--;
					a[j].pai--;
					a[k].Miss--;
					a[k].pai--;
				}
				else 
				{
					a[j].Bang--;
					a[j].pai--;
					a[k].xie--;
				}
			}
		}
		if(a[j].pai>a[j].xie)
		{
			if(a[j].Bang>=(a[j].pai-a[j].xie))
			{
				a[j].Bang-=(a[j].pai-a[j].xie);
				a[j].pai=a[j].xie;
			}
			else
			{
				if(a[j].Bang>0)
				{
					a[j].pai-=a[j].Bang;
				}
				if(a[j].Miss>=(a[j].pai-a[j].xie))
				{
					a[j].Miss-=(a[j].pai-a[j].xie);
				    a[j].pai=a[j].xie;
				}
				else 
				{
					a[j].pai-=a[j].Miss;
					a[j].Parry-=(a[j].pai-a[j].xie);
					a[j].pai=a[j].xie;
				}
			}
		}
		j++;
		}while(b[0]!='='&&a[0].xie>0&&a[1].xie>0);
		if(a[0].xie<=0)
		{
			printf("LOSE\n");
			while(b[0]!='=')
			scanf("%s",b);
		}
		else 
		{
			printf("WIN\n");
			while(b[0]!='=')
			scanf("%s",b);
		}
		if(b[0]=='.')exit(0);
	}
	return 0;
}