求助!!!谢谢dalao
  • 板块题目总版
  • 楼主yangyuanxi44
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/4/2 20:43
  • 上次更新2023/11/5 01:09:07
查看原帖
求助!!!谢谢dalao
450893
yangyuanxi44楼主2021/4/2 20:43

P1093 [NOIP2007 普及组] 奖学金

这个代码只得了90分,求助!!!谢谢dalao

#include<iostream>
#include<algorithm>
using namespace std;
struct nade{
	int xh,chi,mat,eng,tot;
}a[305];
bool cmp(nade x,nade y)
{
	return x.tot>y.tot;
}
int main()
{
	int n,temp,temp1,j=1;
	cin>>n;
	for(int i=0; i<n; i++)
	{
		cin>>a[i].chi>>a[i].mat>>a[i].eng;
		a[i].tot=a[i].chi+a[i].mat+a[i].eng;
		a[i].xh=j;
		j++;
	}
	sort(a,a+n+1,cmp);
	for(int j=0; j<=5; j++)
	{
		if(a[j].tot==a[j+1].tot)
		{
		    if(a[j].chi<a[j+1].chi)
			{
				temp1=a[j].xh;
				a[j].xh=a[j+1].xh;
				a[j+1].xh=temp1;
				temp1=0;
			}
			if(a[j].xh>a[j+1].xh&&a[j].chi==a[j+1].chi)
			{
				temp1=a[j].xh;
				a[j].xh=a[j+1].xh;
				a[j+1].xh=temp1;
				temp1=0;
			}
		}
	}
	for(int k=0; k<5; k++)
	{
		cout<<a[k].xh<<" "<<a[k].tot<<endl;
	}
	return 0;
}
2021/4/2 20:43
加载中...