注意:允许转载,但转载请注明作者和出处
1523. 学生课程列表
题目
解析
答案
#include <iostream>
#include <string>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
unordered_map<string, vector<int>> students;
int n, k;
int main()
{
cin >> n >> k;
while (k --)
{
int class_id, students_num;
cin >> class_id >> students_num;
string name;
for (int i = 0; i < students_num; i ++)
{
cin >> name;
students[name].push_back(class_id);
}
}
while (n --)
{
string name;
cin >> name;
cout << name << ' ' << students[name].size();
sort(students[name].begin(), students[name].end());
for (int i = 0; i < students[name].size(); i ++) cout << ' ' << students[name][i];
cout << endl;
// 这四行的简单写法:
// auto &all = students[name];
// sort(all.begin(), all.end());
// cout << name << ' ' << all.size();
// for (auto a : all) cout << ' ' << a;
// cout << endl;
}
return 0;
}