1039 Course List for Student (25分)

容器的使用很方便,这里如果不用字符串会效率高很多,但是用字符串影响的是读入的效率,通过关闭输入输出同步还是可以在一定程度 上解决问题的。
切记关闭同步以后不可以再使用 scanf和printf

附本人AC代码:

#include
#include
#include
#include
#include
using namespace std;
map<string, vector<int>>Ma;
int main() {
	ios::sync_with_stdio(false);
	int N, K, id, num;
	string name;
	cin >> N >> K;
	for (int i = 1; i <= K; i++) {
		cin >> id >> num;
		for (int j = 0; j < num; j++) {
			cin >> name;
			Ma[name].push_back(id);
		}
	}
	for (int i = 0; i < N; i++) {
		cin >> name;
		cout<<name<<" "<<Ma[name].size();
		sort(Ma[name].begin(), Ma[name].end());
		for (int i = 0; i < Ma[name].size(); i++) {
			cout << " " << Ma[name][i];
		}
		cout << endl;
	}
	return 0;
}

你可能感兴趣的:(甲级代码精炼)