HJ25 Data classification processing
#include <cstddef>
#include <iostream>
#include <set>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<string> result;
vector<string> I;
vector<int> R;
set<int> RSet;
int num = 0;
cin>>num;
string tmpStr;
while(num--) //输入I
{
cin>>tmpStr;
I.push_back(tmpStr);
}
cin>>num;
int tmpNum;
while (num--) //输入R
{
cin>>tmpNum;
RSet.insert(tmpNum);
}
for(auto it:RSet) //R 用set去重排序
R.push_back(it);
for(int i=0 ; i <R.size() ; i++) //挨个查找R
{
string tmpR = to_string(R[i]);
vector<string> tmp;
tmp.clear();
for(int j=0 ; j <I.size() ;j++) // 找每一个I中有没有当前R
{
if(I[j].find(tmpR) != -1)
{
tmp.push_back(to_string(j)); //找到保存I的下标和内容
tmp.push_back(I[j]);
}
}
if(tmp.size() > 0) //如果找到了,存到结果里
{
result.push_back(tmpR);
result.push_back(to_string(tmp.size()/2));
for(auto it:tmp)
result.push_back(it);
}
}
cout<<result.size()<<' ';
for(auto it:result)
cout<<it<<' ';
}
// 64 位输出请用 printf("%lld")