早教吧作业答案频道 -->其他-->
解释下这个程序,详细一点,用得是什么数据结构原题是这样的佳佳的爷爷有一个苹果园,最近苹果都熟了,都从树上掉了下来,佳佳要帮爷爷把树下的苹果堆到一起,他每次可以任意选两堆合成一
题目详情
解释下这个程序,详细一点,用得是什么数据结构
原题是这样的
佳佳的爷爷有一个苹果园,最近苹果都熟了,都从树上掉了下来,佳佳要帮爷爷把树下的苹果堆到一起,他每次可以任意选两堆合成一堆,耗费的体力是这两堆苹果苹果数量的和.他最后的目标是将所有的果子堆成一个大堆,那么他最少耗费的体力是多少呢?
要求:
(1)输入:多组测试数据,每组数据输入的第一行是一个数n,表示果子原来有多少堆,接下来n个数,每个数表示每堆苹果的个数.
(2)输出:对于每组数据,输出一个整数,表明佳佳最少需要的体力.
(3)所设计的数据结构应尽可能节省存储空间.
(4)程序的运行时间应尽可能少.
#include "stdio.h"
#include "string.h"
#include //stl队列容器
#include //stl动态数组容器
#include //stl通用算法
using namespace std;
#define M 100010
int main()
{
int i,j;
int n,x,ans;
int x1,x2;
priority_queue pq; //重载后定义优先队列的方式(这个到底是什么意思啊.)
printf("输入苹果的堆数:");
while(scanf("%d",&n)>0)
{
while(!pq.empty())
pq.pop();
printf("输入各堆苹果的个数:");
for(i=0;i1)
{
x1=pq.top();pq.pop();
x2=pq.top();pq.pop();
ans+=x1+x2;
pq.push(x1+x2);
}
printf("佳佳总共要消耗体力:");
printf("%d\n",ans);
}
return 0;
}
原题是这样的
佳佳的爷爷有一个苹果园,最近苹果都熟了,都从树上掉了下来,佳佳要帮爷爷把树下的苹果堆到一起,他每次可以任意选两堆合成一堆,耗费的体力是这两堆苹果苹果数量的和.他最后的目标是将所有的果子堆成一个大堆,那么他最少耗费的体力是多少呢?
要求:
(1)输入:多组测试数据,每组数据输入的第一行是一个数n,表示果子原来有多少堆,接下来n个数,每个数表示每堆苹果的个数.
(2)输出:对于每组数据,输出一个整数,表明佳佳最少需要的体力.
(3)所设计的数据结构应尽可能节省存储空间.
(4)程序的运行时间应尽可能少.
#include "stdio.h"
#include "string.h"
#include //stl队列容器
#include //stl动态数组容器
#include //stl通用算法
using namespace std;
#define M 100010
int main()
{
int i,j;
int n,x,ans;
int x1,x2;
priority_queue pq; //重载后定义优先队列的方式(这个到底是什么意思啊.)
printf("输入苹果的堆数:");
while(scanf("%d",&n)>0)
{
while(!pq.empty())
pq.pop();
printf("输入各堆苹果的个数:");
for(i=0;i1)
{
x1=pq.top();pq.pop();
x2=pq.top();pq.pop();
ans+=x1+x2;
pq.push(x1+x2);
}
printf("佳佳总共要消耗体力:");
printf("%d\n",ans);
}
return 0;
}
▼优质解答
答案和解析
来302我和你详细解释
看了 解释下这个程序,详细一点,用...的网友还看了以下:
问问地理里讲的熟制,一年一熟,一年两熟,一年三熟,两年三熟的农作物都分别是什么?它们各次都从是什么 2020-05-13 …
有关历史书籍的读后感600字左右就可以了,要两篇. 2020-06-08 …
问问地理里讲的熟制,一年一熟,一年两熟,一年三熟,两年三熟的农作物都分别是什么?它们各次都从是什么 2020-06-11 …
玉米有早熟和晚熟两个品种,该性状的遗传涉及两对等位基因,分别用A、a,B、b表示.为探究玉米早熟和 2020-06-27 …
决赛输了,可以直接说失利,文雅一点还可以说“”(两字).如用四字成语或熟语,可以说“”.甚至还可用 2020-07-20 …
英语介绍恐龙介绍其中的一种龙,字数不要太多,六年级水平就可以了,三两句就行了,什么种类的恐龙都行, 2020-07-23 …
玉米有早熟和晚熟两个品种,受两对等位基因控制.某科研人员做了两组实验如表.下列相关叙述,不正确的是 2020-07-25 …
四年级数学题悬赏不断提高可以一道一道补充一、探索规律.必看;一张饼要烙2面,烙熟一面要2分钟.平底锅 2020-11-03 …
一道语文考词语的题目决赛输了。可以直接说“失利”,文雅一点可以说————(两个字)甚至还可以用——— 2020-12-01 …
作者不喜欢“苦孩子求学的故事”也不喜欢“父母病重在床,断然离去的游子”这是为什么短一点就可以了要两段 2020-12-18 …