签到题
50的规模,随便搞搞都能过,用stl的string的搜索直接做了
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 50;
string monkey[maxn+5];
string place[maxn+5];
int n,m;
inline char b2c(int b) {
return (char)(32+b);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int t;
cin>>t;
while (t--) {
cin>>n>>m;
for (int i = 0;i <= maxn; ++i) {
monkey[i].clear();
place[i].clear();
}
int mi,b,p;
for (int i = 0;i < n; ++i) {
cin >> mi >> b;
monkey[mi] += b2c(b);
}
for (int i = 0;i < m; ++i) {
cin >> b >> p;
place[p] += b2c(b);
}
size_t pos;
for (int mi = 1; mi <= maxn; ++mi) {
if (monkey[mi].empty())
continue;
for (int p = 1; p <= maxn; ++p) {
pos = place[p].find_first_of(monkey[mi]);
if (string::npos != pos) {
cout<<mi<<" "<<p<<"\n";
}
}
}
cout<<"\n";
}
return 0;
}