AcWing 1523. 学生课程列表
原题链接
中等
作者:
leo123456
,
2020-08-20 17:17:21
,
所有人可见
,
阅读 318
#include<iostream>
#include<algorithm>
#include<vector>
#include<unordered_map>
using namespace std;
unordered_map<string, vector<int>> students;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n, k;
cin >> n >> k;
while (k--)
{
int id, m;
cin >> id >> m;
while (m--)
{
string name;
cin >> name;
students[name].push_back(id);
}
}
while (n--)
{
string name;
cin >> name;
auto& ls = students[name];
cout << name << ' ' << ls.size();
sort(ls.begin(), ls.end());
for (auto l : ls) cout << ' ' << l;
cout << endl;
}
return 0;
}
#include<iostream>
#include<unordered_map>
#include<set>
#include<string>
using namespace std;
int n,m;
unordered_map<string,set<int>> mp;
int main()
{
cin>>n>>m;
while(m--)
{
int c,k;
cin>>c>>k;
for(int i=0;i<k;i++)
{
string name;
cin>>name;
mp[name].insert(c);
}
}
for(int i=0;i<n;i++)
{
string name;
cin>>name;
cout<<name<<' ';
cout<<mp[name].size();
if(mp[name].size()!=0)
{
for(auto s:mp[name])
cout<<' '<<s;
cout<<endl;
}
else cout<<endl;
}
return 0;
}