20分,麻烦大佬帮忙看看,谢谢
查看原帖
20分,麻烦大佬帮忙看看,谢谢
324176
yuyuyuyu12345楼主2022/9/9 16:44
#include <iostream>
#include <cmath>
struct s{
	int num,s;
};
using namespace std;
int main()
{
	int n,m;
	cin>>n>>m;
	int lim=m*1.5;
	struct s stu[5000],temp;
	for(int i=0;i<n;i++)
	{
		cin>>stu[i].num>>stu[i].s;
	}
	for(int i=1;i<n;i++)
	{
		for(int j=0;j<n-i;j++)
		{
			if(stu[j].s<stu[j+1].s)
			{
				temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;
			}
		}
	}
	for(int i=lim-1;i<n;i++)
	{
		if(stu[i].s==stu[i+1].s)
			lim++;
	}
	for(int i=0;i<n;i++)
	{
	for(int j=0;j<lim;j++)
	{
		if(stu[j].s==stu[j+1].s){
		if(stu[j].num>stu[j+1].num){
			temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;
		}
	}
	}
}
	cout<<stu[lim-1].s<<" "<<lim<<endl;
	for(int i=0;i<lim;i++) cout<<stu[i].num<<" "<<stu[i].s<<endl;
}
2022/9/9 16:44
加载中...