文章
84
粉丝
408
获赞
132
访问
916.4k
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int m;
cin >> m;
while (m--) {
int n;
cin >> n;
int* anum = new int[n];//存数
int* agrp = new int[n];//存组
int maxn = -1, maxg = -1;//存最大数和最大组
for (int i = 0; i < n; i++) {
cin >> anum[i];
if (anum[i] > maxn)
maxn = anum[i];
}
for (int i = 0; i < n; i++) {
cin >> agrp[i];
if (agrp[i] > maxg)
maxg = agrp[i];
}
bool* fn = new bool[maxn+1];//标记数
bool* fg = new bool[maxg+1];//标记组
int** count = new int*[maxg+1];//计数
for (int i = 0; i <= maxg; i++) {//初始化
count[i] = new int[maxn+1];
fg[i] = false;
for (int j = 0; j <= maxn; j++) {
count[i][j] = 0;
}
}
for (int i = 0; i <= maxn; i++)
fn[i] = false;
for (int i = 0; i < n; i++) {
int num = anum[i];
int group = agrp[i];
fn[num] = true;
fg[group] = true;
count[group][num]++;
}
...
登录后发布评论
暂无评论,来抢沙发