记录编号 |
228669 |
评测结果 |
AAAAAAAAAA |
题目名称 |
杀手游戏 |
最终得分 |
100 |
用户昵称 |
GaoErFu |
是否通过 |
通过 |
代码语言 |
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;
}