一、题目
1003 洗澡
又到了炎热的夏天了,令华电学子恼火的排队洗澡有没有令你很郁闷?最近学习了操作系统的MM想采用一种作业调度算法来解决长时间等待的问题。现在假设只剩下一个淋浴可供使用了,只有等一个人洗完之后下一个人才可以开始洗澡。这个时候来了N个人洗澡,她们每个人都宣布一个自己洗澡的时间Ai(大家都严格遵守这个时间)。这样MM就开始对她们的洗澡顺序进行调度了,使得所有人的等待时间之和最小。
输入
第一行是N(1<=N<=1000),第二行是N个正整数Ai(0
输出
输出一个满足题目要求的序列,每相邻两个序号之间输出一个英文逗号。
样例输入
4
3 10 6 8
样例输出
1,3,4,2
提示
每一组测试数据输出的时候,要注意不要在最后一个数字后面输出多余的逗号。
二、分析
主要是保存数字的位置,比较数的大小
三、AC源代码
01 #include
02 typedef struct
03 {
04 int a;
05 int b;
06 }no;
07
08 int main()
09 {
10 no a[1000],t;
11 int i,n,j;
12 scanf("%d",&n);
13 for(i=0;i
14 {
15 scanf("%d",&a[i].a);
16 a[i].b=i+1;
17 }
18 for(i=0;i
19 for(j=i;j
20 if(a[i].a>a[j].a)
21 {
22 t=a[i];
23 a[i]=a[j];
24 a[j]=t;
25 }
26
27 for(i=0;i
28 printf("%d,",a[i].b);
29 printf("%d",a[i].b);
30 printf("\n");
31
32 return 0;
33 }
阅读(859) | 评论(0) | 转发(0) |