摘要: 一道关于环形交通枢纽(大转盘)的模拟题,但是根本与实际情况一点都不相符,反而有诸多难以理解的地方数据规模不大,直接模拟交通情况计算最后时间即可,因此关键是如何用计算机建模来模拟车辆运行的情况建模大转盘可以被抽象为左边的图,外环4个节点叫做entry point,内环4个节点属于roundabout。车辆首先进入entry point,再进入中间的roundabout,按照箭头所示逆时针方向行进,到达对应方向的roundabout point,下一个时刻直接从图中离开。用(a, b)分别表示内环和外环的节点状态,a[0], a[1], a[2], a[3]分别表示N, W, S, E方向上的节点 阅读全文
posted @ 2013-11-01 05:00 valaxy 阅读(185) 评论(0) 推荐(0)
摘要: 枚举所有情况,依次判断情况是否合法,合法则计数器加一。这里的关键是给定secret和guess如何生成result 1 import re 2 3 def processResult(result): 4 r = re.search('(\d)b (\d)w', result) 5 b = int(r.group(1)) 6 w = int(r.group(2)) 7 return (b, w) 8 9 def isvalid(x, guesses, results):10 lie = 011 for i in range(0, le... 阅读全文
posted @ 2013-10-31 23:50 valaxy 阅读(156) 评论(0) 推荐(0)
摘要: 一道组合计数的问题,计算符合条件的合法组合个数。任意一个合法的path都不是精确的,因为landmarks可以被标记在多个点上。若将landmarks尽可能靠前匹配,path中将不存在任意前后两个相同高度的点A、B,其中B被标记而A没被标记,AB之间也不存在其他标记。否则可以标记A而去掉标记B来使得landmarks的标记情况更加“靠前”。因此题目所求变为计算这种精确的path的个数。使用一种分步策略来选择这种组合:令(d, h, i, tf) 表示d点高度为h,前i个landmarks已被标记,若tf=1:到达过山顶,否则:还没到到过山顶。地势可以升高、降低、不变,当前点可以被标记或者不标记 阅读全文
posted @ 2013-10-31 17:50 valaxy 阅读(191) 评论(0) 推荐(0)
摘要: 数学题,分析如下:宽度w、高度h的矩形(包括正方形)在宽度width、高度height的矩形中所含个数是:\( (width-w+1)(height-h+1) \)因此所求不等边矩形个数:\( \begin{equation} \begin{split} sum &= \sum_{w=1}^{width} \sum_{h=1}^{height} (width-w+1)(height-h+1) - \sum_{w=1}^{min(width,height)}(width-w+1)(height-w+1) \\ &= \sum_{w=1}^{width} \sum_{h=1}^{h 阅读全文
posted @ 2013-10-29 04:26 valaxy 阅读(217) 评论(0) 推荐(0)
摘要: 有关vending machine (自动售货机) 的模拟题,需要吐槽的是:能够转的自动售货机?你找一个出来给我看看总之,虽然现在觉得意思明白,但是在写代码之前只觉得题目莫名其妙 1 class VendingMachine: 2 def motorUse(self, prices, purchases): 3 machine = Machine(prices) 4 lastBuyTime = 0 5 6 machine.moveToMaxPrice() 7 for i in range(0, len(pu... 阅读全文
posted @ 2013-10-29 03:50 valaxy 阅读(249) 评论(0) 推荐(0)