rt
#include <cstring>
#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <stack>
#include <queue>
#include <limits.h>
#include <list>
#include <set>
#include <map>
using namespace std;
#define tr true
#define fa false
#define str string
#define itn int
const int MAXN=-1;
const int MINN=999999999;
//s=heitao h=hongxin d=fangkuai c=meihua
int h[14]={-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40};
int n1,n2,n3,n4;//用于输入
int v1[105],v2[105],v3[105],v4[105];//输入
char c1[105],c2[105],c3[105],c4[105];//用于输入花色
int c10(){//寻找c10所在的人的手上
for(int i=0;i<n1;i++)
if(c1[i]=='C' and v1[i]==10)
return 1;
for(int i=0;i<n2;i++)
if(c2[i]=='C' and v2[i]==10)
return 2;
for(int i=0;i<n3;i++)
if(c3[i]=='C' and v3[i]==10)
return 3;
for(int i=0;i<n4;i++)
if(c4[i]=='C' and v4[i]==10)
return 4;
return 0;
}
int d11(){//寻找d11所在的人的手上
for(int i=0;i<n1;i++)
if(c1[i]=='D' and v1[i]==11)
return 1;
for(int i=0;i<n2;i++)
if(c2[i]=='D' and v2[i]==11)
return 2;
for(int i=0;i<n3;i++)
if(c3[i]=='D' and v3[i]==11)
return 3;
for(int i=0;i<n4;i++)
if(c4[i]=='D' and v4[i]==11)
return 4;
return 0;
}
int s12(){//寻找s12所在的人的手上
for(int i=0;i<n1;i++)
if(c1[i]=='S' and v1[i]==12)
return 1;
for(int i=0;i<n2;i++)
if(c2[i]=='S' and v2[i]==12)
return 2;
for(int i=0;i<n3;i++)
if(c3[i]=='S' and v3[i]==12)
return 3;
for(int i=0;i<n4;i++)
if(c4[i]=='S' and v4[i]==12)
return 4;
return 0;
}
int h1_h13(){
int flag1=0,flag2=0,flag3=0,flag4=0;
for(int i=0;i<n1;i++)
if(c1[i]=='H')
flag1=1;
for(int i=0;i<n2;i++)
if(c2[i]=='H')
flag2=1;
for(int i=0;i<n3;i++)
if(c3[i]=='H')
flag3=1;
for(int i=0;i<n4;i++)
if(c4[i]=='H')
flag4=1;
if(flag1==1){
return 1;
}else if(flag2==1){
return 2;
}else if(flag3==1){
return 3;
}else if(flag4==1){
return 4;
}else{
return 0;
}
return 0;
}
int main() {
int cnt=0;
while(1){
cin>>n1;
for(itn i=0;i<n1;i++){
//输入第一个
cin>>c1[i]>>v1[i];
}
if(n1==0) cnt++;
cin>>n2;
for(int i=0;i<n2;i++){
//第二个
cin>>c2[i]>>v2[i];
}
if(n2==0) cnt++;
cin>>n3;
for(int i=0;i<n3;i++){
//第三个
cin>>c3[i]>>v3[i];
}
if(n3==0) cnt++;
cin>>n4;
for(int i=0;i<n4;i++){
//第四个
cin>>c4[i]>>v4[i];
}
if(!n4) break;//结束
int cntc10=c10(),cntd11=d11(),cnts12=s12(),cnt114514=h1_h13();
int cnt114[5];
memset(cnt114,0,sizeof(cnt114));
if(cnt114514){//若h全部在同一个人那里
cnt114[cnt114514]+=200;
if(cntd11==cnt114514 and cnts12==cnt114514){
cnt114[cnt114514]+=300;
}
}else{
//若不在同一个人那里,则按正常规则加分
for(int i=0;i<n1;i++){
if(c1[i]=='H'){
cnt114[1]+=h[v1[i]];
}
}
for(int i=0;i<n2;i++){
if(c2[i]=='H'){
cnt114[2]+=h[v2[i]];
}
}
for(int i=0;i<n3;i++){
if(c3[i]=='H'){
cnt114[3]+=h[v3[i]];
}
}
for(int i=0;i<n4;i++){
if(c3[i]=='H'){
cnt114[3]+=h[v4[i]];
}
}
}
cnt114[cntd11]+=100,cnt114[cnts12]=cnt114[cnts12]-100,cnt114[cntc10]*=2;
for(int i=0;i<4;i++){
if(cnt114[i]>0){
cout<<"+"<<cnt114[i]<<' ';
}else{
cout<<cnt114[i]<<' ';
}
}
}
return 0;
}
请各位大佬帮一下