2012年6月27日

POJ2718(枚举 + 贪心)

摘要: 问题: 有N个0到9的数字,互不重复。用这些数字组成2个整数,每个数字只能用一次,且必须用尽所有数字,且0不能在第一位(除非组成的整数是0)。求组成整数的差的最小值。思路: 可以将所有情况分为两类: (1)N是偶数:可以将这N个数字平分,使每个整数含N/2个数字。要使差最小,只需使两个整数最高有效位的差最小,然后使用贪心算法使次高有效位及以后的位数的差 最大。这里使两个整数最高有效位的差最小的做法可能有多种,因此要枚举每种做法,取出最后结果值最小的那一个。 (2)N是奇数:将N个数字中除0外的最小数字分配给其中一个整数,作为最高有效位。然后将剩余的数字平... 阅读全文

posted @ 2012-06-27 15:30 bobchou 阅读(267) 评论(0) 推荐(0) 编辑

导航