文档介绍:贪心算法学案2014-3-121、删数问题:通过键盘输入一个高精度的正整数n(n≤240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。输入:n=178543  s=4 输出:最后剩下的最小数:13【算法分析】:为了尽可能地逼近目标,我们选取的策略为:每一步总是选择一个使剩下的数最小的数字删去,即按高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字,否则删除第一个递减区间的首字符。然后回到串首,按上述规则再删除下一个数字。重复以上过程s次,剩下的数字串便是问题的解了。2、连接多位数:设有N个正整数,将他们连接成一排,组成一个最大的多位数。例如:n=3时,3个整数13、312、343,连成的最大整数为34331213,又如n=4时,4个整数7,13,4,246连接成最大整数为7424613输入:N    n个数输出:连接成的多位数【算法分析】:见课本59页3、取数游戏:给出2n个(n<=100)个自然数(数小于等于30000)。游戏双方分别为A方和B方(对弈的人)。只允许从数列两头取数。A先取,然后双方依次轮流取数。取完时,谁取得的数字总和最大即为取胜方;若双方的和相等,属于A胜。试问A方可否有必胜的策略?【算法分析】:我们会发现了一个有趣的事实:A方取走偶位置的数以后,剩下两端数都处于奇位置;反之,若A方取走的是奇位置上的数,则剩下两端的数都处于偶位置。可以得出另一种有效的贪心策略:若能够让A方取走“数和较大的奇(或偶)位置上的所有数”,则A方必胜。这样,取数问题便对应于一个简单的问题了:让A方取奇偶位置中数和较大的一半数。()【问题描述】鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边。”我们假定多多在每个单位时间内,可以做下列四件事情中的一件:1)   从路边跳到最靠近路边(即第一行)的某棵花生植株;2)   从一棵植株跳到前后左右与之相邻的另一棵植株;3)   采摘一棵植株下的花生;4)   从最靠近路边(即第一行)的某棵花生植株跳回路边。现在给定一块花生田的大小和花生的分布,请问在限定时间内,多多最多可以采到多少个花生?注意可能只有部分植株下面长有花生,假设这些植株下的花生个数各不相同。例如在图2所示的花生田里,只有位于(2,5),(3,7),(4,2),(5,4)的植株下长有花生,个数分别为13,7,15,9。沿着图示的路线,多多在21个单位时间内,最多可以采到37个花生。【输入文件】,M,N和K,用空格隔开;表示花生田的大小为M*N(1<=M,N<=20),多多采花生的限定时间为K(0<=K<=1000