AC代码如下
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int A[105], B[105], C[105];
int main()
{
int t,n;
int a, b, c;
char s[5];
scanf("%d", &t);
while (t--)
{
memset(A, 0, sizeof(A));
memset(B, 0, sizeof(B));
memset(C, 0, sizeof(C));
scanf("%d %d %d", &a, &b, &c);
int num;
for (int i = 0; i < a; i++)
{
scanf("%s %d", s, &num);
A[s[0] - 'A'] = num;
}
for (int i = 0; i < b; i++)
{
scanf("%s %d", s, &num);
B[s[0] - 'A'] = num;
}
for (int i = 0; i < c; i++)
{
scanf("%s %d", s, &num);
C[s[0] - 'A'] = num;
}
int a1, b1;
int flag = 1;
for (a1 = 1; a1 < 102; a1++)
{
for (b1 = 1; b1 < 102; b1++)
{
flag = 1;
for (int i = 0; i < 26 && flag; i++)
{
if (A[i] * a1 + B[i] * b1 != C[i])
{
flag = 0;
}
}
if (flag==1)
{
break;
}
}
if (flag==1)
{
break;
}
}
if (flag==1)
{
printf("%d %d\n", a1, b1);
}
else
{
printf("NO\n");
}
}
return 0;
}