题目链接:
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int t, n, m;
int a[210][210];
int b[210];
int res[210]; // 存答案
int flag[210]; // flag[i]表示第i行有几个符合
int main() {
ios::sync_with_stdio(false);
cout.tie(0);
cin >> t;
while(t --) {
memset(res, 0, sizeof res);
memset(flag, 0, sizeof flag);
memset(a, 0, sizeof a);
memset(b, 0, sizeof b);
cin >> n >> m;
for(int i = 0; i < n; i ++) {
for(int j = 0; j < m; j ++) {
cin >> a[i][j];
}
}
for(int i = 0; i < m; i ++)
cin >> b[i];
for(int k = 0; k < m; k ++) {
for(int i = 0; i < n; i ++) {
for(int j = 0; j < m; j ++) {
if(a[i][j] == b[k] && flag[i] == k) {
res[k] ++;
flag[i] ++;
break;
}
}
}
}
for(int i = 0; i < m; i ++)
cout << res[i] << " ";
cout << "\n";
}
return 0;
}
|