分组统计
#include "pch.h"
#include<map>
#include<vector>
#include <iostream>
#include<set>
using namespace std;
int main()
{
int m;
cin >> m;
while (m--)
{
int n;
cin >> n;
vector<int> v_elem, v_arr;
set<int> iset, set1;
for (int i = 0; i < n; i++)
{
int a; cin >> a;
v_elem.push_back(a);
iset.insert(a);
}
for (int i = 0; i < n; i++)
{
int a; cin >> a;
v_arr.push_back(a);
set1.insert(a);
}
map<int, map<int, int> > imap;
for (int i = 0; i < v_arr.size(); i++)
{
imap[v_arr[i]][v_elem[i]]++;
}
/*
for (auto it = imap.begin(); it != imap.end(); it++)
{
cout << it->first << "={";
int i = 0;
auto is = iset.begin();
for (; is!=iset.end(),i<iset.size()-1; is++,i++)
cout << *is << "=" << imap[it->first][*is] << ",";
cout << *(is++) << "=" << imap[it->first][*(is)] << "}" << endl;
}*/
for (auto it = set1.begin(); it != set1.end(); it++)
{
cout << *it << "={";
int i = 0;
auto is = iset.begin();
for (; is != iset.end(), i < iset.size() - 1; is++, i++)
{
cout << *is << "=" << imap[*it][*is] << ",";
}
cout << *(is++) << "=" << imap[*it][*is] << "}" << endl;
}
}
}