ICFP Programming Contest 2007 ãçµããã¾ãããå㯠kuma-- ã¨ãã¦åå ãã¦ãã¾ããããããããé£å»ãããåã® 3 人ãã¼ã ã§ãã
ä»å¹´ã®åé¡ã¯ãä¸ãããã DNA (ããã°ã©ã ) ã«ã§ããã ãçãã³ã¼ããä»ã足ãã¦ããã®çºç¾çµæ (ç»å) ãæå®ç»åã«ã§ããã ãè¿ã¥ãããã¨ãããã®ã§ããã
ã¡ãªã¿ã«ä½ãã³ã¼ããä»ããªãã¨ãâã®ãããªçºç¾çµæã«ãªãã¾ãã
ä¸ãããã DNA 㯠'I' ã'C' ã'F' ã'P' ã¨ãã 4 種é¡ã®å¡©åºãã¨ãããæåãããªã 7 MB ãããã®æåå *1 ã§ãæå®ãããæ¹æ³ã§å®è¡ãã㨠RNA ãåºåããã¾ããRNA ã¯åã 4 種é¡ã®æåã 7 æåãã¨ã«ã¾ã¨ããæãã®ãªã¹ãã«ãªã£ã¦ãã¦ãæå®ãããæ¹æ³ã§å®è¡ããã¨ç»åãåºåããã¾ãã
ãã¼ã kuma-- ã¯ãã¾ã¨ããªæéã§åã DNA ã¤ã³ã¿ããªã¿ãä½ãã®ã«æéã®ååã使ã£ã¦ãã¾ã£ãã®ãè´å½å·ã§ãããrope ãªãã¦æãã¤ãããããã§ãããããã¨é£å»ããã®é©ç°çãªã²ãããã¨é人éçãªè§£æè½åã®ãããã§ã15 ä½ä»¥å ã«ã¯å ¥ããããã§ãã
å㯠DNA ã¤ã³ã¿ããªã¿ã®ä½æãæ
å½ãã¾ãã (ã¤ã¾ãè´å½å·ã®ç¯äººã¯å) ãçµå± DNA ã¤ã³ã¿ããªã¿ã¯ 50 K step / sec ç¨åº¦ããåºã¾ããã§ãã *2 ãä½ã人ãä½ãã° 1 M step / sec ã ã® 2 M step / sec ã ã®åºãããã§ããã£ãããä»ã«ã¯ãã¾ãã¾ã¨ãããã¼ã«ã®ä½æãããªãã¸ã§ã¯ãã®æç»ä½ç½®ãæåã§åãããå°éãªä½æ¥ãããã¾ããã
課é¡ãã¿ãã¬è§£èª¬
å»å¹´ã¨åã系統ã®ãã主å¬è ãä½ãããã ã²ã¼ã ãã¿ããªã§ãããã課é¡ãã§ããããã¼ã kuma-- ãå°éããã¨ããã¾ã§ç°¡åã«è§£èª¬ãã¾ããå®å ¨ã«ãã¿ãã¬ã§ãã®ã§ã注æãã ããã
ãã¬ã¤è³æ ¼
DNA ã¤ã³ã¿ããªã¿ãé«éã«ä½ãããã¨ãã¿ããªä½è£ï¼
ã¿ã¤ãã«ç»é¢
ãªãªã¸ãã«ã® DNA ãå®è¡ãã㨠DNA æçãæç»ããã (ãã ãããé»å¡ãã§æ¶ããã) ã®ã§ãããã§タイトル画面 (DNA のマニュアルの表紙) ã«è¡ãã¾ãã
ã¡ãªã¿ã«ããã§ãã®ã«ã¼ããæ¨ã¦ã¦ãほぼ全て自力描画するというルートもあるようです、ってありえねぇー!
æåã«ãããã¨
マニュアルの任意のページを開くための DNA 断片の書き方ãå¦ã³ã¾ãããã®ã¸ãã¯æ®éã®ã²ã¼ã ã¿ããã§ããããã一気に多数のページにアクセスできてしまうã®ã§ãæ å ±éå¤ã«é¥ã£ã¦ã©ãããæãã¤ãããæ··ä¹±ãã¾ããã
ã¨ããããç®ãã¤ããã®ã¯ãã®è¾ºã (ããã¦çµå±ããããæ·±ãã¨ããã«ã¯ãããªãã£ã) ããã®ã¸ãã¯ããããã¨é£å»ãããããããèªã¿è§£ãã¦ããã¾ããã
- 数字だのなんだののエンコードの話。
- Gene Table (1/14) ã"000510 00018 AAA_geneTablePageNr" などと書かれた表ãå®ã¯ DNA ä¸ã®ã¡ã¢ãªãããã
- Field-repairing Fuuns 。è¦ããã« DNA ä¸ã®é¢æ°ã®å¼ã³åºãæ¹æ³ãã¹ã¿ãã¯ã«å¤ãç©ã㧠Gene ãã¢ã¯ãã£ãã¼ãããã
- DNA の構造の解説。
ä»ããæãã°åããã®ãããä¸å¿ã«åæ¦ãããã£ãããã©ããã®é å㯠DNA ã¤ã³ã¿ããªã¿ã®æ¹è¯ã¨ä½èª¿ä¸è¯ã§æ»ãã§ã¾ããã
(å¤å) 次ã«ãããã¨
AAA_geneTablePageNr ã®ãªãã»ããã«æ°åãæ¸ãããã§ãã Gene Table ã®ãã¼ã¸ãéãã¨ãGene Table (2/14) ã (3/14) ãè¦ãã¾ããæå®ç»åã«æ¸ããã¦ãããªãã¸ã§ã¯ãã®ååã£ã½ããã® (cloud ã¨ã windmill ã¨ã) ã大éã«ä¸¦ãã§ãã¦ãé²ã ã®é¢¨è»ã ã®ãæç»ããé¢æ°ç¾¤ã ã¨ãããã¾ãã
ããã ãã§ãç®ãã¡ãã¡ãããã®ã«ãhelp-* ã¨ãã£ãã«ã¿ãã°ã®å¥ã®ãã¼ã¸ãéããããªé¢æ°ããcrack だの crypt だのã¨ãã£ããããã«ãæªããã·ã³ãã«åã並ãã§ãã¦ãããã«ã©ãæ»ãããæ©ã¿ã¾ãã
ãã¼ã kuma-- ã¨ãã¦ã¯ããã®æç¹ã§æéã®ååãéãã¦ãããããããããããªãé¢æ°ã®æ·±è¿½ãã¯ããããã¦ãããããããé¢æ°ãéãã¦çµµãä½ã£ã¦ç¹æ°ã稼ãæ¹éã«ãªãã¾ãããå¾ã£ã¦ãã以éã®é åã¯æªè¸ãªã®ã§ãããã¾ããã
ãã®ä»ã»æ®ãããè¬ãªã©
ããã¥ã¢ã«ã®å¤§åã®ãã¼ã¸ã¯è¬ã®ã¾ã¾ã§ãã¯ã£ãããã£ã¦è¬ã°ããã§ããã主å¬è ãã©ãããæ»ç¥é ãæ³å®ãã¦ããã®ããä¸çªæ°ã«ãªãè¬ã§ããéã¢ã»ã³ãã©ã¾ã§ä½ãã°è¦ãã¦ãããã®ã§ããããã
é£å»ãããã¼ãããã¨ãªãªã¸ãã«ã® DNA ãçºãã¦ãã¦ã横å¹
16 ã«ã©ã 㧠DNA ãè¦ã㨠"ACHTUNG! PORTABLE NETWORK GRAPHICS FOLLOWS" ã¨ããã¡ãã»ã¼ã¸ãã¢ã¹ãã¼ã¢ã¼ãã§ç¾ãããã¨ãè¦ã¤ãã¾ãããããã¼ããã®å¾ã® I 㨠C ã®æååã¯ç¢ºãã« png ã®ãã©ã¼ãããã«ãªã£ã¦ãã¾ãããããããã
ãã®ç»åã«æ¸ãã¦ããéãããã®å¾ã«ã¯こんな mp3 が埋め込まれていました (笑)
ããã©ãã®ãã¼ã¸ãéãã¦ããå®å
¨æ°ãã©ãã®ããã®ã¨æ¸ãã¦ããã ãã§ãå¾ç¹ã«ã¯ã¤ãªããã¾ããã§ãããé¨åç¹ãããä¸ããã
ã¹ãã¬ãã°ã©ãã£ã®ãã¼ã¸ããããããã¾ããã§ããããã¼ã lepidum ã®äººã«ããã¨ãgimp 㧠RGB 強調ãããä½ãè¦ãã¦ãããããã§ããããã¯ãããããã®ã¾ã¾ã§ã¯å¾ç¹ã«ã¤ãªãããªãããã§ãã
ãã¨ãç»å㧠Rot-13 ã¯ããã¹ããã¦ãã ãã (ç¬)
ææ³
å»å¹´ã®èª²é¡ãå¼·ãæèãã課é¡ã§ãä½ãè¾¼ã¿ã¯å»å¹´ä»¥ä¸ã ã¨æãã¾ããããã ãã²ã¼ã ãã©ã³ã¹ã«ã¯é£ãããæ°ããã¾ããããããã¨ãããå«ãã¦ãä¾å¹´éã楽ãã¿ã¾ãããæéä¸ã«ã¯ãªã¢ãããã¼ã ãããã®ãæ°ã«ãªãã¾ããããããããã¯ãªã¢ãã¯ããããã®ããªãï¼
å»å¹´ã¨ä»å¹´ã¨åããããªå¾åã§ããããæ¥å¹´ã®èª²é¡ãã¾ãåã系統ãªã®ãããã¤ã¦ã®äººå·¥ç¥è½ç³»ããããã¨ãå
¨ãå¥ã®ç³»çµ±ããæ©ãã楽ãã¿ã§ãã