早教吧作业答案频道 -->其他-->
C++编写金块问题的分治算法有一个老板有一袋金块。每个月将有两名雇员会因其优异的表现分别被奖励一个金块。按规矩,排名第一的雇员将得到袋中最重的金块,排名第二的雇员将得到袋
题目详情
C++编写金块问题的分治算法
有一个老板有一袋金块。每个月将有两名雇员会因其优异的表现
分别被奖励一个金块。按规矩,排名第一的雇员将得到袋中最重
的金块,排名第二的雇员将得到袋中最轻的金块。如果有新的金
块周期性的加入袋中,则每个月都必须找出最轻和最重的金块。
假设有一台比较重量的仪器,我们希望用最少的比较次数找出最
轻和最重的金块。当n<=2 时,识别出最重和最轻的金块只要一次比较就足够
了
当n>2时,
1 把这袋金块平分成两个小袋A和B
2 分别找出在A和B 中最重和最轻的金块。设A中最重和最轻
的金块分别为HA 与LA,B中最重和最轻的金块分别为HB 和
LB,如果n>2,则递归地采用分治法
3 通过比较HA 和HB,可以找到所有金块中最重的;通过比较
LA 和LB,可以找到所有金块中最轻的请用C++算法实现,编译能通过的
有一个老板有一袋金块。每个月将有两名雇员会因其优异的表现
分别被奖励一个金块。按规矩,排名第一的雇员将得到袋中最重
的金块,排名第二的雇员将得到袋中最轻的金块。如果有新的金
块周期性的加入袋中,则每个月都必须找出最轻和最重的金块。
假设有一台比较重量的仪器,我们希望用最少的比较次数找出最
轻和最重的金块。当n<=2 时,识别出最重和最轻的金块只要一次比较就足够
了
当n>2时,
1 把这袋金块平分成两个小袋A和B
2 分别找出在A和B 中最重和最轻的金块。设A中最重和最轻
的金块分别为HA 与LA,B中最重和最轻的金块分别为HB 和
LB,如果n>2,则递归地采用分治法
3 通过比较HA 和HB,可以找到所有金块中最重的;通过比较
LA 和LB,可以找到所有金块中最轻的请用C++算法实现,编译能通过的
▼优质解答
答案和解析
#include#include#include#includeusing namespace std;const int inf=(1>1; int ha,la,hb,lb; int cnt_ha,cnt_la,cnt_hb,cnt_lb; Bin(l,mid,ha,la,cnt_ha,cnt_la); Bin(mid+1,r,hb,lb,cnt_hb,cnt_lb); ...
看了 C++编写金块问题的分治算法...的网友还看了以下:
在光滑水平面上有三个小滑块,A、B用细线相连,中间有一压缩的弹簧(弹簧与滑块不拴接),在滑块B上的 2020-04-07 …
三种不同类型的矩形地砖长宽如图所示有A砖4块,B类4块,C类2块 要拼成一个正方形,则应多余出1块 2020-05-13 …
快类帮帮如图所示的三个木块ABC,其中B与C放在A上,木块C受水平恒力F作用,而使三个木块一起在水 2020-05-13 …
读世界局部板块分布示意图,完成下列问题.(1)板块构造学说认为,地球的表层岩石圈并不是一个整体,而 2020-05-17 …
在系统的功能模块设计中,要求适度控制模块的扇入扇出。下图中模块C的扇入和扇出系数分别为(32)。经 2020-05-26 …
三个相同的木块A,B,C从同一高度自由下落,其中,木块A在开始下落的瞬间被水平飞行的子弹击中,木块 2020-07-10 …
autocad的一些问题cad属性块,以下说法正确的是(多选)A块必须定义属性。B一个块中最多只能定 2020-11-02 …
科考船途经了全球六大板块中的()A.3个板块B.4个板块C.5个板块D.6个板块 2020-11-06 …
我国某远洋科学考察船从青岛港起航,进行环球大洋科学考察活动。如图,科考船途经了全球六大板块中的A.3 2020-12-06 …
中国是一个地震多发的国家,与此密切相关的板块有()A.亚欧板块、美洲板块B.亚欧板块、太平洋板块C. 2020-12-14 …