比赛 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;
}