0分求调!!!
查看原帖
0分求调!!!
1244509
renzhanwen楼主2024/6/12 19:09

样例过了,只有0分。

#include<bits/stdc++.h>
using namespace std;
int n,a[10005],c[10005],m[10005],e[10005],b[10005]; 
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>c[i]>>m[i]>>e[i];
		a[i]=i;
	}
	for(int i=1;i<=n;i++)
		for(int j=2;j<=n;j++)
		{
			if(c[j-1]+m[j-1]+e[j-1]<c[j]+m[j]+e[j])
			{
				swap(a[j-1],a[j]);
				swap(c[j-1],c[j]);
				swap(m[j-1],m[j]);
				swap(e[j-1],e[j]);
				continue;
			}
			if(c[j-1]+m[j-1]+e[j-1]==c[j]+m[j]+e[j])
			{
				if(c[j-1]+m[j-1]<c[j]+m[j])
				{
					swap(a[j-1],a[j]);
					swap(c[j-1],c[j]);
					swap(m[j-1],m[j]);
					swap(e[j-1],e[j]);
					continue;
				}
				if(c[j-1]+m[j-1]==c[j]+m[j])
				{
					if(max(c[j-1],m[j-1])<max(c[j],m[j]))
					{
						swap(a[j-1],a[j]);
						swap(c[j-1],c[j]);
						swap(m[j-1],m[j]);
						swap(e[j-1],e[j]);
						continue;
					}
				}
			}
		}
	int i=1;
	while(i<=n)
	{
		int k=i;
		while(c[k+1]+m[i+1]+e[k+1]==c[k]+m[k]+e[k]&&c[k+1]+m[k+1]==c[k]+m[k]&&max(c[k+1],m[k+1])==max(c[k],m[k]))
			k++;
		for(int j=i;j<=k;j++)
			b[a[j]]=i;
		i=k;
		i++;
	}
	for(int i=1;i<=n;i++)
		cout<<b[i]<<endl;
    return 0;
}
2024/6/12 19:09
加载中...