2021年2月19日 星期五

e788: b3.畢業典禮(Ceremony)

解題心得:
cmp的部分要注意一下。

程式碼:

#include <iostream>
#include <algorithm>
using namespace std;
struct Student {
	int order;
	string ID, name;
};
bool cmp(Student a, Student b)
{
	if (a.ID[8] != b.ID[8])
		return a.ID[8] < b.ID[8];
	else if (a.ID[0] != b.ID[0])
		return a.ID[0] < b.ID[0];
	else 
		return a.order<b.order;
}
int main()
{
	int n;
	cin >> n;
	Student* list = new Student[n];
	for (int i = 0; i < n; i++) {
		cin >> list[i].ID >> list[i].name;
		list[i].order = i;
	}
	sort(list, list + n, cmp);
	for (int i = 0; i < n; i++)
		cout << list[i].ID[8] << ": " << list[i].name << endl;
	return 0;
}

沒有留言:

張貼留言