#include <array> #include <iostream> #include <map> #include <vector> using namespace std; int main() { int m, n, t; cin >> m; while (m--) { cin >> n; vector<int> number; //记录输入的数 vector<int> group_id; //记录对应分组 map<int, int> elem; for(int i=0; i<n; i++){ cin >> t; elem[t]=0; // map初始化,记录出现过的元素 number.push_back(t); } map<int, map<int, int>> group; for(int i=0; i<n; i++){ cin >> t; group[t]= elem; //分组初始化 group_id.push_back(t); } for(int i=0; i<n; i++){ group[group_id[i]][number[i]] ++; } for(auto &i : group){ cout<< i.first <<"={"; for(auto &j : i.second){ if(j.first == i.second.rbegin()->first){ cout<< j.first << "=" << j.second; }else { cout<< j.first << "=" << j.second <<","; } } cout <<"}" <<endl; } } } // 64 位输出请用 printf("%lld")