pat-1039 Course List for Student (25分)

在这里插入图片描述
说实话,有点被晴神的算法笔记误导了。做这题的第一想法当然是stl啦,但是他说map会超时。但是可以去改一下,换成ordered_map。那么就不会产生超时的情况了。
通过名字的与课程id进行映射。但是输出的时候注意一下排序就ok了。
代码如下:

#include <bits/stdc++.h>
using namespace std;
int main(){
	unordered_map<string,vector<int>> stu;
	int n,m;
	cin>>n>>m;
	for(int i=0;i<m;i++){
		int id,cour;
		cin>>id>>cour;//在id下存在若干的课程数 
		for(int i=0;i<cour;i++){
			string name;cin>>name;
			stu[name].push_back(id);
		}
	}
    //要去排序一下不然通过不了
	while(n--){
		string name1;cin>>name1;
		cout<<name1<<' '<<stu[name1].size();
        sort(stu[name1].begin(),stu[name1].end());
		for(auto stu1:stu[name1]) cout<<' '<<stu1;
		puts("");
	}
	return 0;
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值