jzxx1177买蛋糕II

题目描述
今天是路路的生日,生日蛋糕自然是少不了。路路的朋友们一起去蛋糕店来买蛋糕,可是等一行人到了蛋糕店之后,发现那里是人山人海啊-_-。这下可把店家给急坏了,因为人数过多,需求过大,所以人们要等好长时间才能拿到自己的蛋糕。老板为了最大限度的使每位客人尽快拿到蛋糕,因此他需要安排一个制作顺序,使每位客人的平均等待时间最少(如果制作时间相同的,先来的先做)。这使他发愁了,于是他请你来帮忙安排一个制作顺序,使得每位客人的平均等待时间最少。

输入
输入有两行。第一行是一个整数n,表示有n种蛋糕等待制作。第二行有n个数,第i个数表示第i种蛋糕的制作时间。

输出
输出包括一行,有n个整数,每2个整数间用空格隔开,是蛋糕的制作顺序,每个数即是蛋糕的编号。

样例输入
2
1 2
样例输出
1 2

满分代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int a[1000],b[1000];
int main() {
	int n,i,j,t;
	scanf("%d",&n);
	for(i=0; i<n; i++) {
		scanf("%d",&a[i]);
		b[i]=i+1;
	}
	for(i=0; i<n-1; i++) {
		for(j=0; j<n-1-i; j++) {
			if(a[j+1]<a[j]) {
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
				t=b[j];
				b[j]=b[j+1];
				b[j+1]=t;
			}
		}
	}
	printf("%d",b[0]);
	for(i=1; i<n; i++) {
		printf(" %d",b[i]);
	}
	printf("\n");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/lyz060510/article/details/83049415