比赛 20110928 评测结果 AAAAAAAAAA
题目名称 拱猪计分 最终得分 100
用户昵称 201105 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-09-28 21:54:02
显示代码纯文本
#include<fstream>
#include<cstring>
#include<stdio.h>
using namespace std;
ifstream fin("heart.in");
ofstream fout("heart.out");
int cards[16],cardh[16],cardd[16],cardc[16];
int n[4],ts=0,th=0,td=0,tc=0,total[4]={0};
int h[13]={-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40};
bool f=0;
int main()
{
	while(f==0)
	{
		for(int i=0;i<4;i++)
	    {
			ts=0;th=0;td=0;tc=0;
	    	fin>>n[i];
	    	if(n[i]!=0)
	    	{
	    		for(int j=0;j<n[i];j++)
	        	{
					char zan[3];
					int zan2=0;
	    			fin>>zan;
					for(int k=1;k<strlen(zan);k++)
					{
						zan2=zan2*10+int(zan[k]-'0');
					}
					if(zan[0]=='S'&&zan2==12)
					{
						cards[ts]=int(zan2);
						ts++;
					}
					if(zan[0]=='H')
					{
						cardh[th]=int(zan2);
						th++;
					}
					if(zan[0]=='D'&&zan2==11 )
					{
						cardd[td]=int(zan2);
						td++;
					}
					if(zan[0]=='C'&&zan2==10)
					{
						cardc[tc]=int(zan2);
						tc++;
					}
				}
				if(ts==1&&th!=13)
				{
					total[i]-=100;
				}
			    if(th==13)
			    {
			    	if(ts!=0&&td!=0)
					{
						total[i]=500;
					}
					if(td==0&&ts!=0)
					{
						total[i]=100;
					}
					if(td==0&&ts==0)
					{
						total[i]=200;
					}
				}
				if(th!=13)
				{
					for(int j=0;j<th;j++)
					{
						total[i]+=h[cardh[j]-1];
					}
				}
				if(td==1&&th!=13)
				{
					total[i]+=100;
				}
				if(tc==1)
				{
					total[i]=total[i]*2;
				}
				if(tc==1&&th==0&&td==0&&ts==0)
				{
					total[i]=50;
				}
			}
		}
		if(n[1]==0&&n[2]==0&&n[3]==0&&n[0]==0)
		{
			f=1;
		}
		else
		{
			for(int i=0;i<4;i++)
			{
				if(total[i]>0)fout<<'+'<<total[i]<<' ';
			    if(total[i]<=0)fout<<total[i]<<' ';
				total[i]=0;
			}
			fout<<endl;
		}
	}
	return 0;
}