比赛 |
20110928 |
评测结果 |
WWAAWAWAWW |
题目名称 |
拱猪计分 |
最终得分 |
40 |
用户昵称 |
magic |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-09-28 20:55:46 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string.h>
using namespace std;
int h[14]={0,-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40};
int ans[5];
int a=1,b,c,d;
bool pd[14];
void make(int n,int m);
void make(int n,int m)
{
char pock[10];
int q=0;//h shu
for (int i=0;i<=13;i++)
{
pd[i]=0;
}
int hh=0,hx=0,ss=0,cc=0,dd=0;
for (int i=1;i<=n;i++)
{
scanf("%s",&pock);
if (pock[0]=='H'||pock[0]=='S'||pock[0]=='D'||pock[0]=='C')
{
hh++;
if (pock[0]=='H')
{
int mm=0;
hx++;
mm=strlen(pock)-1;
if (mm==1)
{
q=pock[1]-'0';
}
else
{
q=(pock[1]-'0')*10+(pock[2]-'0');
}
pd[q]=1;
}
if (pock[0]=='S')
{
ss++;
}
if (pock[0]=='C')
{
cc++;
}
if (pock[0]=='D')
{
dd++;
}
}
}
if (hh==16) ans[m]=1000;
if (cc==1&&hx==0&&ss==0&&dd==0) ans[m]+=50;
if (hx==13)
{
if (cc==1)
{
ans[m]+=400;
if (ss==1&&dd==1)
{
ans[m]+=1000;
}
if (ss==1&&dd==0)
{
ans[m]-=200;
}
if (ss==0&&dd==1)
{
ans[m]+=200;
}
}
else
{
ans[m]+=200;
if (ss==1&&dd==1)
{
ans[m]+=500;
}
if (ss==1&&dd!=0)
{
ans[m]-=100;
}
if (ss==0&&dd==1)
{
ans[m]+=100;
}
}
}
else
{
for (int i=1;i<=13;i++)
{
if (pd[i])
{
ans[m]+=h[i];
}
}
if (cc==1)
{
ans[m]*=2;
if (ss==1&&dd==0)
{
ans[m]-=200;
}
if (ss==0&&dd==1)
{
ans[m]+=200;
}
}
else
{
if (ss==1&&dd==0)
{
ans[m]-=100;
}
if (ss==0&&dd==1)
{
ans[m]+=100;
}
}
}
}
int main()
{
freopen("heart.in","r",stdin);
freopen("heart.out","w",stdout);
do
{
for (int i=1;i<=4;i++)
{
ans[i]=0;
}
scanf("%d ",&a);
if (a!=0)
{
make(a,1);
}
scanf("%d ",&b);
if (b!=0)
{
make(b,2);
}
scanf("%d ",&c);
if (c!=0)
{
make(c,3);
}
scanf("%d ",&d);
if (d!=0)
{
make(d,4);
}
if (a!=0||b!=0||c!=0||d!=0)
{
for (int j=1;j<=4;j++)
{
if (ans[j]>0)
{
printf("+%d ",ans[j]);
}
else
{
printf("%d ",ans[j]);
}
}
}
printf("\n");
}
while (a!=0&&b!=0&&c!=0&&d!=0);
return 0;
}