题解 | #数据分类处理#
数据分类处理
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")