算法与设计基础
mys-yyds
这个作者很懒,什么都没留下…
展开
-
【删数问题贪心算法解决】
@算法与设计基础 键盘输入一个高精度的正整数n,去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数最小。 如输入: 178543 4 输出: 13 #include; #include; using namespace std; int shanshu(char *a,int k) { int n = strlen(a); while (k > 0) {//每次删一个数,使得剩下的数按原序列组成最小。, for (int i = 0; i &原创 2021-11-30 14:55:43 · 811 阅读 · 0 评论 -
【驻油点】一辆重型卡车欲穿过1000公里的沙漠,卡车耗油为1升/公里,卡车总载油能力为500公升。显然卡车一次是过不了沙漠的。因此司机必须设法在沿途建立几个贮油点,使卡车能顺利穿越沙漠,试问司机如何建
算法描述 从贮油点i向贮油点i+1倒推的策略是,卡车在点i和点i+1间往返若干次。卡车每次返回i+1处时正好耗尽500公升汽油,而每次从i+1出发时又必须装足500公升汽油。两点之间的距离必须满足在耗油最少的条件下使i点贮足i500分升汽油的要求(0<=i<=n-1)。具体地讲,第一个贮油点i=1应距终点i=0处500km且在该处贮藏500公升汽油,这样才能保证卡车能由i=1处到达终点i=0处,这就是说dis[1]=500oil[1]=500;为了在i=1处贮藏500公升汽油,卡车至少从i=2处原创 2021-11-30 15:07:53 · 1380 阅读 · 0 评论