题解 | #数据分类处理#

数据分类处理

https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

调 bug 调了一个多小时。。。吐了
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n,m;
    string s;
    cin>> n;
    //存放I序列于vector
    vector<vector<string> > vec(n, vector<string>(2));
    for(int i = 0; i< n; ++i){
        cin>> s;
        vec[i][0]= s;
        vec[i][1]= to_string(i);
    }
    //存放R序列于map容器
    map<int,int> mp;
    cin>> m;
    for(int i = 0; i< m; ++i)
        if(cin >>s)
            mp[stoi(s)]= 0;
    //循环查找I中元素是否存在R中的字符串,记录于vector容器
    vector<string> vec_1;
    for(auto &i: mp){
        for(int j= 0; j< n; ++j)
            if(vec[j][0].find(to_string(i.first))!= string::npos){
                ++i.second;
                vec_1.emplace_back( vec[j][1] );
                vec_1.emplace_back( vec[j][0] );
            }
    } 
    //输出
    int num= 0, pos= 0;
    for(auto const i: mp)
        if(i.second!= 0)
            num+= i.second+ 1;
    cout<< num*2<< ' ';
    for(auto const j: mp){
        if(j.second!=0){
            cout<< j.first<< ' ' <<j.second<< ' ' ;
            for(int i= 0; i< j.second; ++i)
                cout<< vec_1[pos++]<< ' ' << vec_1[pos++]<< ' ' ;
        }
    }
}

全部评论

相关推荐

07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务