Huawei test bank HJ25 data classification processing

HJ25 Data classification processing

insert image description here
insert image description here

insert image description here

#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")

Guess you like

Origin blog.csdn.net/qq_44814825/article/details/130161457