比赛 |
20150714B |
评测结果 |
AAAAAAAAAA |
题目名称 |
拱猪计分 |
最终得分 |
100 |
用户昵称 |
KZNS |
运行时间 |
0.004 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2015-07-14 10:42:09 |
显示代码纯文本
#include<fstream>
#include<map>
#include<string>
using namespace std;
ifstream fin("heart.in");
ofstream fout("heart.out");
map<string,int>lt;
string stru;
int tt[4],p[16],ed[4],adp[15]={-100,-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40,100};
void first();
bool getdt();
int ckh();
void cknm();
void ot();
int main(){
first();
int hb;
while(getdt()){
hb=ckh();
for(int i=0;i<4;i++)
ed[i]=0;
if(hb==-1)
cknm();
else{
ed[hb]=200;
if(p[0]==hb&&p[14]==hb)
ed[hb]+=300;
else{
ed[p[0]]+=adp[0];
ed[p[14]]+=adp[14];
}
if(p[15]>-1){
if(tt[p[15]]==1)
ed[p[15]]=50;
else
ed[p[15]]*=2;
}
}
ot();
}
return 0;
}
void first(){
lt["S12"]=0;
lt["H1"]=1;
lt["H2"]=2;
lt["H3"]=3;
lt["H4"]=4;
lt["H5"]=5;
lt["H6"]=6;
lt["H7"]=7;
lt["H8"]=8;
lt["H9"]=9;
lt["H10"]=10;
lt["H11"]=11;
lt["H12"]=12;
lt["H13"]=13;
lt["D11"]=14;
lt["C10"]=15;
}
bool getdt(){
for(int i=0;i<16;i++)
p[i]=-1;
for(int i=0;i<4;i++){
fin>>tt[i];
for(int j=0;j<tt[i];j++){
fin>>stru;
p[lt[stru]]=i;
}
}
if(tt[0]==0&&tt[1]==0&&tt[2]==0&&tt[3]==0)
return 0;
return 1;
}
int ckh(){
int o=p[1];
for(int i=2;i<14;i++)
if(p[i]!=o)
return -1;
return o;
}
void cknm(){
for(int i=0;i<4;i++)
ed[i]=0;
for(int i=0;i<15;i++)
ed[p[i]]+=adp[i];
if(p[15]>-1){
if(tt[p[15]]==1)
ed[p[15]]=50;
else
ed[p[15]]*=2;
}
}
void ot(){
for(int i=0;i<3;i++)
if(ed[i]>0)
fout<<'+'<<ed[i]<<' ';
else
fout<<ed[i]<<' ';
if(ed[3]>0)
fout<<'+'<<ed[3];
else
fout<<ed[3];
fout<<endl;
}