时间限制: 1.0 秒
空间限制: 512 MiB
样例输入
4 3
5 1 2 3 2 1
1 1
3 2 2 2
2 3 2
样例输出
2 3
3 6
2 2
题解:利用bool类型标志数组vis判断k是否在当前文章存在过 ,els 存储k值。
原题:TUOJ
代码如下
#include<bits/stdc++.h>
using namespace std;
int n,m,a,k;
int c[100000],d[100000];
vector<bool>vis(100000,false);
vector<int>els(100000);
void Count(){
//多个集合处理元素统计
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a;
for(int j=1;j<=a;j++){
cin>>k;
if(!vis[k]) c[k]++,vis[k]=true,els.push_back(k);//VIS[]用来记录k有没有在i中出现
d[k]++;
}
for(int idx=0;idx<els.size();idx++){
vis[els[idx]]=false;
}
}
for(int i=1;i<=m;i++){
cout<<c[i]<<" "<<d[i]<<endl;
}
}
int main(){
cin.tie(0);
cout.tie(0);
int Case=1;
while(Case--) Count();
return 0;
}