题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
#include <iostream>
#include <bits/stdc++.h>
#include <string>
#include <vector>
using namespace std;
int main() {
int n;
cin>>n;
vector<string> vec;
string input;
while (n--){
cin>>input;
vec.push_back(input);
}
cin>>n;
set<int> set;
int R;
while (n--){
cin>>R;
set.insert(R);
}
string result;
int num_all = 0;
for (auto R : set){
string tmp_;
//cout<<R<<endl;
int num = 0;
for (int i = 0; i < vec.size(); i++){
if (vec[i].find(to_string(R)) == string::npos){
continue;
}
else{
tmp_ += ' ' + to_string(i) + ' ' + vec[i];
num++;
}
}
if (num > 0){
num_all += 2 + num * 2;
result += ' ' + to_string(R) + ' ' + to_string(num) + tmp_;
}
}
cout << num_all<< result;
}
// 64 位输出请用 printf("%lld")
