题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
祖传打模拟。
需要考虑R数组的去重和排序,然后仔细阅读题意即可。
#include <bits/stdc++.h>
#include <string>
#include <vector>
using namespace std;
vector<int> l;
vector<int> r;
vector<int> ans;
int main() {
int n, m;
int a;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a;
l.push_back(a);
}
cin >> m;
for (int j = 0; j < m; j++) {
cin >> a;
r.push_back(a);
}
sort(r.begin(), r.end());
r.erase(unique(r.begin(), r.end()), r.end());
for (int i = 0; i < r.size(); i++) {
bool find = false;
vector<int> tmp;
for (int k = 0; k < l.size(); k++) {
if (to_string(l[k]).find(to_string(r[i])) != to_string(l[k]).npos) {
find = true;
tmp.push_back(k);
tmp.push_back(l[k]);
}
}
if (find) {
ans.push_back(r[i]);
ans.push_back(tmp.size()/2);
for (auto item : tmp) ans.push_back(item);
}
}
cout << ans.size() << " ";
for(int item: ans) cout << item << " ";
return 0;
}
// 64 位输出请用 printf("%lld")


查看12道真题和解析