本题较为简单,需要注意的是其他用户提交的其他题目记录也包含在内, 即存在不属于该场比赛的题目,注意到了这点之后就很好解决,下面附上代码。
#include <iostream>
using namespace std;
string a[205], p,q,d[205],z;
int score[205], n, m, k, b, c,x[205],j;
int main()
{
cin >> n >> m >> k;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= m; i++)
{
cin >> p >> b;
d[i] = p;
x[i] = b;
}
for (int i = 1; i <= k; i++)
{
cin >> p >> q >> z;
if (z == "AC")
{
for (int i = 1; i <= n; i++)
{
if (a[i] == p)
{
b = i;
break;
}
if (i == n)
j = 1;
}
if (j == 0)
{
for (int i = 1; i <= m; i++)
{
if (d[i] == q)
{
c = i;
break;
}
if (i == m)
j = 1;
}
if (j == 0)
{
score[b] += x[c];
}
}
}
j = 0;
}
for (int i = 1; i <= n; i++)
{
cout << a[i] << " " << score[i] << '\n';
}
return 0;
}