码迷,mamicode.com
首页 > 编程语言 > 详细

C语言合并果子-贪心算法

时间:2019-12-08 01:04:09      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:水果   print   动作   scanf   bsp   题目   移动   i++   一起   

/*有几堆水果。每次你把两堆东西移到一起,形成更大的一堆。每个动作消耗的能量是两堆水果的总重量。如何把所有的水果堆在一起,消耗最少的能量?*/

以上是题目,该题首先要读懂题目,每次移到一起以后都要将数组重新排序再次移动。

 1 #include<stdio.h>
 2 
 3 int main(){
 4     
 5     int t, n, m = 0;
 6     int i = 0, j = 0;
 7     scanf("%d",&n);
 8     int sum[n];
 9 
10     for(i = 0; i<n;i++){
11         scanf("%d",&sum[i]);
12     }
13     
14     for(i = 0; i<n-1;i++){
15         for(j = 0; j<n-i-1; j++){
16             if(sum[j]>sum[j+1]){
17                 t = sum[j];
18                 sum[j] = sum[j+1];
19                 sum[j+1] = t; 
20             }
21         }
22     }
23     for(i = 1;i<n;++i){
24         sum[i] += sum[i-1];
25         m += sum[i];
26         for(j = i+1;j<n&&sum[j]<sum[j-1];++j){
27             t = sum[j-1];
28             sum[j-1] = sum[j];
29             sum[j] = t;
30         }
31     } 
32     
33     printf("%d",m);
34     
35     return 0;
36 }

 

C语言合并果子-贪心算法

标签:水果   print   动作   scanf   bsp   题目   移动   i++   一起   

原文地址:https://www.cnblogs.com/wleaf/p/12004005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!