300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 搬水果 在一个果园里 小明已经将所有的水果打了下来 并按水果的不同种类分成了若干

搬水果 在一个果园里 小明已经将所有的水果打了下来 并按水果的不同种类分成了若干

时间:2021-04-20 11:19:32

相关推荐

搬水果 在一个果园里 小明已经将所有的水果打了下来 并按水果的不同种类分成了若干

这段时间在刷算法题,搬水果问题真是绝了,问题描述是这样的

然后我写了下面的代码,在牛客的提交记录上没有我这样的方法所写的代码,但是我自己觉得这样的写法很好呀,用贪心算法。但是他就是通过不了,用例可以通过,但是最终就是无论如何都通过不了,有哪位大佬能帮我看看嘛,在此感谢!

#include<stdio.h>#include<stdlib.h>typedef struct fruits{int weight;int num;}fruit[10000];int compar(const void*a,const void*b){struct fruits* num1=(struct fruits*)a;struct fruits* num2=(struct fruits*)b;if(num1->weight!=num2->weight)return num1->weight-num2->weight;elsereturn num1->num-num2->num;}int main(){int n,i,k=1,result=0;while(scanf("%d",&n)!=EOF&&n!=0){fruit fru[n];for(i=0;i<n;i++){scanf("%d ",&fru[i]->weight);fru[i]->num=i;}qsort(fru, n,sizeof(fru[0]), compar);int sum=fru[0]->weight;while(k<n){sum+=fru[k]->weight;result+=sum;k++;}printf("%d\n",result);}return 0;}

以下是提交记录,用它的自测示例就可以通过

但是提交就通过不了

唉。。。。。。。。。。

搬水果 在一个果园里 小明已经将所有的水果打了下来 并按水果的不同种类分成了若干堆 小明决定把所有的水果合成一堆。每一次合并 小明可以把两堆水果合并到一起 消耗的体力等于两堆水果的重量之和。当然经过

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。