求点赞
代码以及注释清晰
想法:使用map,名字作为关键字
vector 动态存储选课的序号,后进行排序输出。
求点赞
C++ 代码
#include<iostream>
#include<unordered_map>
#include<vector>
#include<algorithm>
using namespace std;
unordered_map<string, vector<int>> mapp;
int main(){
int n, k;
cin >> n >> k; // 查询人数 课程总数
for (int p = 0; p < k; p++) { // 每一行查询
int i; // 课程编号
cin >> i;
int ni; // 选择该课程的人数
cin >> ni;
for (int j = 0; j < ni; j++) {
string name;
cin >> name;
mapp[name].push_back(i);
}
}
// 开始查询
for (int p = 0; p < n; p++) {
string sname; // search_name
cin >> sname;
cout<<sname<<' '<< mapp[sname].size()<<' '; //输出学生的选课数目
sort(mapp[sname].begin(),mapp[sname].end()); //对数据进行排序
for (int j = 0; j < mapp[sname].size(); j++) {
cout << mapp[sname][j] << ' ';
}
cout << endl;
}
return 0;
}
点赞怎么点,萌新求问