摘要: 进入Qualification Round 2009的试题,第一道题Alien Language,模式匹配的问题,既然选择了Python,可以使用Regular Expression正则表达式,那就是太简单了。主要问题就在于把给定的pattern转换为regular expression,把"("和")"换成"["和"]"就可以了,代码如下:#!/usr/bin/python#encoding:UTF-8#Filename:AlienLanguage.pyimport sysimport reinname = &q 阅读全文
posted @ 2012-04-07 21:08 Frandy.CH 阅读(279) 评论(0) 推荐(0) 编辑
摘要: Numbers,这道题是Round 1A 2008的最后一道题,给定n,要求计算(3 + √5)^n整数部分的最后三位数字,如n= 5, (3 + √5)5= 3935.73982,那么结果就应该是935,不足三位数字,则补零。(3 + √5)n+1与(3 + √5)n有递推关系,用an+bn√5表示(3 + √5)n,那么α(n + 1)= (3 + √5)(an+ bn√5) = (3an+ 5bn) + (3bn+ an)√5,可以写成矩阵形式,在contest analysis里面也给出了Python的解题代码,如下,#!/usr/bin/python#encoding:UTF-8#F 阅读全文
posted @ 2012-04-07 19:39 Frandy.CH 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 还是MilkShakes的问题。今天看了一下Contest Analysis,按照提示总算得到了较好的结果。在Contest Analysis中,给出了算法的描述,如下:1. 初始化flavor choice全为0,检查customer的满意情况;2. 对于不满意的customer,如果他只喜欢unmalted的,但是所有的已经malted,那么该customer不可能被满足,给出IMPOSSIBLE;3. 对于不满意的customer,如果他只有一种喜欢的malted,那么将对应的malted,回到步骤2;4. 如果没有不满意的customer,那么就是得到了解。在用Python实现的时候, 阅读全文
posted @ 2012-04-07 17:08 Frandy.CH 阅读(360) 评论(0) 推荐(0) 编辑