C++版本(简单)
数据分类处理
http://www.nowcoder.com/questionTerminal/9a763ed59c7243bd8ab706b2da52b7fd
#include<iostream> #include<string> #include<vector> #include <sstream> #include<vector> #include<algorithm> #include<set> using namespace std; int main(int argc, char* argv[]){ int val1,val2; while(cin >> val1){ vector<int> Iarr; vector<int> Rarr; for(int i=0;i<val1;i++){ int t; cin >> t; Iarr.push_back(t); } // for(int i=0;i<val;i++){ // cout << Iarr[i] << " "; // } // cout << endl; cin >> val2; for(int i=0;i<val2;i++){ int t; cin >> t; Rarr.push_back(t); } // for(int i=0;i<val;i++){ // cout << Rarr[i] << " "; // } // cout << endl; sort(Rarr.begin(), Rarr.end()); set<int> st(Rarr.begin(), Rarr.end()); Rarr.assign(st.begin(), st.end()); int total = 0; string str; for(int i=0;i<Rarr.size();i++){ int num=0; string tmp; for(int j=0;j<Iarr.size();j++){ if(to_string(Iarr[j]).find(to_string(Rarr[i]))!=string::npos){ num++; tmp+=to_string(j)+' '+to_string(Iarr[j])+' '; } } if(num!=0){ total+=(num*2+2); str+=to_string(Rarr[i])+' '+to_string(num)+' '+tmp; } } cout << to_string(total)+' '+str.substr(0,str.size()-1)<<endl; } return 0; }