80分调了好几遍,大佬带带本蒟蒻吧
查看原帖
80分调了好几遍,大佬带带本蒟蒻吧
1066396
szm111213楼主2024/5/16 21:40
#include<bits/stdc++.h>
using namespace std;
struct note
{
	int chinese,math,english,z,id;
}a[114514];
int main()
{
	int n;
	cin >> n;
	for(int i=1;i<=n;i++)
	{
		cin >> a[i].chinese >> a[i].math >> a[i].english;
		a[i].z=a[i].chinese + a[i].math + a[i].english;
		a[i].id=i;
	}
	for (int i = 1; i <= n; ++i) 
	{
		for (int j = 1; j <= n - i; ++j) 
		{
			if (a[j].z < a[j + 1].z) 
			{
				int t = a[j].z;
				a[j].z = a[j + 1].z;
				a[j + 1].z = t;
				int t2 = a[j].id;
				a[j].id = a[j + 1].id;
				a[j + 1].id = t2;
			}
		}
	}
	for (int i = 1; i <= n; ++i) 
	{
		for (int j = 1; j <= n - i; ++j) 
		{
			if (a[j].chinese > a[j + 1].chinese && a[j].z == a[j + 1].z) 
			{
				int t = a[j].z;
				a[j].z = a[j + 1].z;
				a[j + 1].z = t;
				int t2 = a[j].id;
				a[j].id = a[j + 1].id;
				a[j + 1].id = t2;
			}
		}
	}
	for(int i=1;i<=5;i++)
	{
		cout << a[i].id << " " << a[i].z << endl;
	}
    return 0;
}
2024/5/16 21:40
加载中...