比赛 |
20150714B |
评测结果 |
EEEEEEEEEE |
题目名称 |
拱猪计分 |
最终得分 |
0 |
用户昵称 |
Shirry |
运行时间 |
0.814 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-07-14 11:23:04 |
显示代码纯文本
#include<iostream>
#include<fstream>
using namespace std;
int score(char strlist[]){
int i,isS=0,isC=0,isD=0,countH=0,Hnum[14],score=0;
int Hlist[14]={0,-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40};
for(i=0;strlist[i]!='\0';i++){
if(strlist[i]=='S') isS=1;
else if(strlist[i]=='C') isC=1;
else if(strlist[i]=='D') isD=1;
else if(strlist[i]=='H'){
countH++;
if(strlist[i+2]==' '||strlist[i+2]=='\0')
Hnum[countH]=strlist[i+1]-'0';
else
Hnum[countH]=10+strlist[i+2]-'0';
}
}
if(countH==13){ //H全在一人手中
score=200;
if(isS&&isD) score=500;
else if(isS) score-=100; //分别有S和D的情况
else if(isD) score+=100;
}
else if(0<=countH&&countH<13){ //H不全在一个人的手中
for(i=1;i <=countH;i++) score+=Hlist[Hnum[i]];
if(isS) score-=100;
if(isD) score+=100;
}
if(isC){
if(isS==0&&isD==0&&countH==0) score=50; //只有C10的情况
else score*=2; //分数加倍
}
return score;
}
int main(){
char strin[4][100];
int i,j,result[10][4],count=0;
ifstream cin("heart.in");
ofstream cout("heart.out");
while(1)
{
for(i=0;i<=3;i++)
gets(strin[i]);
if(strin[0][0]=='0'&&strin[1][0]=='0'&&strin[2][0]=='0'&&strin[3][0]=='0')
break;
for(i=0;i <=3;i++)
result[count][i]=score(strin[i]);
count++;
}
for(i=0;i <=count-1;i++)
for(j=0;j<=3;j++){
if(j<3){
if(result[i][j]<=0)cout<<result[i][j]<<' ';
else cout<<"+"<<result[i][j]<<' ';
}
else{
if(result[i][j]<=0)cout<<result[i][j]<<endl;
else cout<<result[i][j]<<endl;
}
}
cin.close();
cout.close();
return 0;
}