文章

108

粉丝

0

获赞

99

访问

6.1k

头像
成绩排序 题解:
P1151 清华大学上机题
发布于2026年1月30日 10:30
阅读数 97

#include<iostream>
#include<algorithm>
#include<vector>
#define n first
#define s second
using namespace std;

int n,t;

bool cmp1(pair<string,int> a,pair<string,int> b)
{
	return a.s<b.s;
}

bool cmp2(pair<string,int> a,pair<string,int> b)
{
	return a.s>b.s;
}

int main()
{
	while(cin>>n)
	{
		vector<pair<string,int>> a;
		cin>>t;
		for(int i=0;i<n;i++)
		{
			string name;
			int score;
			cin>>name>>score;
			a.push_back({name,score});
		}
		if(t)
			stable_sort(a.begin(),a.end(),cmp1);
		else
			stable_sort(a.begin(),a.end(),cmp2);
		for(int i=0;i<a.size();i++)
			cout<<a[i].n<<" "<<a[i].s<<endl;
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发