Goodspeed

导航

02 2013 档案

电梯调度算法
摘要:在高峰时间,实习生小飞常常会被电梯每层楼都停弄得很不耐烦,于是他想出了这样一个办法:由于楼层并不高,那么在繁忙的时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客都从一楼上电梯,到达某层楼后,电梯听下来,所有乘客再从这里爬楼梯到自己的目的层。在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少?#! /usr/bin/python# coding=utf-8import random,mathfrom itertools import groupbyfloor = 5def main(): 阅读全文

posted @ 2013-02-04 14:33 Goodspeed 阅读(658) 评论(1) 推荐(0) 编辑

买书问题
摘要:在节假日的时候,书店一般都会做促销活动。由于《哈利波特》系列相当畅销,店长决定通过促销活动来回馈读者。在销售的《哈利波特》平装本系列中,一共有五卷,用编号0, 1, 2, 3, 4来表示。假设每一卷单独销售均需要8欧元。如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多。假设具体折扣的情况如下:本数折扣25%310%420%525%在一份订单中,根据购买的卷数以及本书,就会出现可以应用不同折扣规则的情况。但是,一本书只会应用一个折扣规则。比如,读者一共买了两本卷一,一本卷二。那么,可以享受到5%的折扣。另外一本卷一则不能享受折扣。如果有多种折扣,希望能够计算出的总额尽可能的低。要求根 阅读全文

posted @ 2013-02-03 11:34 Goodspeed 阅读(277) 评论(0) 推荐(0) 编辑

烙饼排序算法
摘要:问题描述: 有一摞烙饼,因为一只手端着盘子,所以只能用另外一只手来给烙饼排序,将烙饼由大到小排好序。这样就要求我们在给烙饼排序的时候总是将最上面的N个烙饼一起翻转。如果最下面的烙饼是最大的,那么只需要解决上面的N-1个烙饼,同理可以最后到解决两个烙饼的排序。#! /usr/bin/python# coding=utf-8import randomdef main(): arr = random.sample(xrange(100), 10) print arr n = [] while arr: arr = reverse(arr) n.in... 阅读全文

posted @ 2013-02-01 16:58 Goodspeed 阅读(505) 评论(0) 推荐(0) 编辑