马蜂丑,请各位DALAO们多多见谅
#include <iostream>
#include <string>
using namespace std;
// #define debug() cout << "OK" << endl
const int N = 1e2 + 10,H[13] = {-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40};
int n;
string a[5][N];
int to_int(string s)
{
int sum = 0;
for(int i = 0;i < s.size();i ++) sum = sum * 10 + (s[i] - '0');
return sum;
}
int get(int p,int sumh,int cnt,bool d11,bool s12)
{
if (cnt == 0) return 0;
if (p == 2 && cnt == 1) return 50;
if (sumh != -194) return (sumh + d11 * 100 + s12 * -100) * p;
if (s12 && d11) return 500 * p;
return 200 * p;
}
int main()
{
// int sum = 0;
// for(int i = 0;i < 13;i ++) sum += H[i];
// cout << sum << endl;
ios::sync_with_stdio(0);
while (1)
{
int cnt = 0,t[N];
for(int j = 1;j <= 4;j ++)
{
cin >> t[j];
cnt += t[j];
for(int i = 1;i <= t[j];i ++) cin >> a[j][i];
}
if (!cnt) return 0;
for(int k = 1;k <= 4;k ++)
{
string s[N];
for(int i = 1;i <= t[k];i ++) s[i] = a[k][i];
int n = t[k],p = 1,sumh = 0,cnt = 0;
bool d11 = 0,s12 = 0;
for(int i = 1;i <= n;i ++)
{
if (s[i] == "S12") s12 = 1,cnt ++;
if (s[i] == "D11") d11 = 1,cnt ++;
if (s[i] == "C10") p = 2,cnt ++;
if (s[i][0] == 'H') cnt ++,sumh += H[to_int(s[i].substr(1)) - 1];
}
// debug();
int x = get(p,sumh,cnt,d11,s12);
if (k == 1 && x == 2)
{
cout << "+1 ";
continue;
}
if (x <= 0) cout << x << ' ';
else cout << "+" << x << ' ';
}
cout << endl;
}
return 0;
}