ICFP Programming Contest 2009 çµäº
ref: http://icfpcontest.org/
ä»åã®èª²é¡ã¯ãªããªãé¢ç½ãã£ããã§ããããã£ã±ãããæ°ãè¶³ããªããªã£ã¦è±è½ãã¾ããã
ä¸å¿ãã£ããã¨ã®è¨é²ãæãåºããªãããªã®ã§é©å½ã
- 1 æ¥ç® 3 æãèµ·ãã¦åé¡èªã¿å§ãããç©çã ã¼ãåè»éã®åé¡ã¾ã§ãèªåå ç®æ¨ã«ããã
- 1 æ¥ç® 4 æåãã¨ãããã VM ä½ãå§ãããé度ãéè¦ãããªã®ã§ C ã§æ¸ãã
- 1 æ¥ç® 7 æãã©ããã¦ããã¾ãåããªãã
- 1 æ¥ç® 8 æãå顿ã«ééãããã£ãç¥ãããããã¼ããã ã¼ã
- 1 æ¥ç® 8 æåãåé¡ãè§£ãå§ãããã³ã³ããã¼ã©ã¯ Ruby ã§æ¸ããVM ã¨ã¯ãã¤ãã§éä¿¡ã
- 1 æ¥ç® 9 æåãäºæ³éãé ãããã®ã§ VM ã Ruby ã®æ¡å¼µã©ã¤ãã©ãªã«ãããå¤å°ã¯éããªãã
- 1 æ¥ç® 10 æåã100x ãæå®ãããè»éã«ä¹ããåé¡ããã¼ãã³é·ç§»è»éã§ç®æ¨è»éã«å°éã¯ããã®ã ãã©å¾®å¦ã«éæ¢ããªãã確ããã®ããã«é£å»ããã®ãã¥ã¼ã¢ãããããã
- 1 æ¥ç® 12 æåã100x ã¯è§£ããããã«ãªã£ãã
- 1 æ¥ç® 13 æåã200x ãåè»éã®è¡æã«ã©ã³ããã¼ããåé¡ãã©ãè§£ãã®ãå ¨ç¶ããããªããåãæ¹åã«å転ãã¦ãã°ã§ãããã ãã©ãéå転ã¯ã©ããããã ãããã¨æ©ãã
- 1 æ¥ç® 14 æåãä¸ãããããµã³ãã«ã¹ãã¼ã¸ã«éå転ã¯ç¡ãã¨ç¥ãâ¦â¦ãå ã«è¦ãã°ããã£ãã
- 1 æ¥ç® 16 æãVM ãé ãã®ãæ°ã«ãªã£ã¦ãããããªãã®ã§ãScala ã«ç§»æ¤ããã OCaml ã«ç§»æ¤ããããã¦éã³å§ããã仿ãã°ãããæå¤§ã®ã¿ã¤ã ãã¹ã ã£ããªãã
- 1 æ¥ç® 18 æãScala ã¯ã³ã³ãã¤ã©é ããã§è©¦è¡é¯èª¤ã§ããªãããOCaml ã¯ããã¾è¦ãã¦ãªãã®ã¨ææ³ããã£ã¨ãããã®ã§çµå± C + Ruby ã«æ»ãã
- 1 æ¥ç® 21 æåã仿´ã ãã© 200x ãè§£ãããã¼ãã³é·ç§»ããå ã«ã¡ããã©ç®æ¨è¡æããããããªã¿ã¤ãã³ã°ãå¾ ã¡ç¶ããã ããã¨ã«ããèªåå ç®æ¨ã¯éæã
- 1 æ¥ç® 23 æã大ä¼ã® Web ãµã¼ããè½ã¡ããæ¥åè»éã¯ãã£ã±ãããããªãã®ã§å¯ãã
- 2 æ¥ç® 9 æãããå¯ããæ¥åè»éã®è§£ãæ¹ãæãã¤ãããã£ããã©ããã®åè»é Rb ã«ä¸ç¬ã ãé·ç§»ãã¦ãããããç®æ¨è¡æã®è»éã®è¿å°ç¹ã«é·ç§»ãã¦ãã¡ããã©ãã®ã¨ãç®æ¨è¡æãè¿å°ç¹ã«ããããã« Rb ãé¸ã¹ã°ãããã ããã£ã¨ããæ¹æ³ãããããããããã©ã
- 2 æ¥ç® 9 æåãç¾å¨ã®ç¦ç¹ã¾ã§ã®è·é¢ã¨é度ããè¿å°ç¹ãæ±ããæ¹æ³ãããããªãããããããªãã®ã§ã·ãã¥ã¬ã¼ã·ã§ã³ãã¦å®éã«åãã¦èª¿ã¹ããã¨ã«ãããé ãã
- 2 æ¥ç® 10 æãRb ãäºåæ¢ç´¢ã§æ±ããããããã«ãªãã
- 2 æ¥ç® 11 æã3003 以å¤ãè§£ããã¼ãããããã
- 2 æ¥ç® 11 æåã3003 ãã©ããã¦ãå¾®å¦ã«ããã¦è§£ããªãããä¸åèµ°ãããã®ã« 90 ç§ãããã£ã¦èª¿ã¹ãæ°ãããªãã®ã§ãä¸çªç®æ¨è¡æã«è¿ã¥ããã¨ããã§ãã¼ãã³ã°ããããã«ãããããã§ä¸å¿ 300x ãè§£ããã絶対ç¡çã ã¨æã£ã¦ãã ãå¬ããã大æºè¶³ã
- 2 æ¥ç® 13 æã300x ã¾ã§è§£ãã¦æ°ãæãã¡ãã£ã¦ãéã³ã«åºãããããã®ã¾ã¾ãã§ã¼ãã¢ã¦ããçµå± 400x (12 åãããã®è¡æãååãã¾ããåé¡) ã¯å ¨ç¶åãçµã¾ãªãã£ãã
以ä¸ã¯ææ³ã
- ä»å¹´ã¯é£å»ãã㨠2 人ã ã£ãã®ã§ãã¾ã£ãããçµæã¨ãã¦ããã£ããã¨ã¯ãæ°åå ¥ãã¦ãã£ã¦ãã¾ã£ãããã£ã¦ãçµæã¯ãã¾ãå¤ãããªãã¨ãããã¨ã
- ä»åã®åé¡ã¯ãã¨ã«ããéãå¦çç³» (C/C++ ã¨ã Java ã¨ã OCaml ã¨ã) ã§å ¨é¨æ¸ããã¨ãéè¦ããã ã£ãã®ã§ãããã¯ã¡ãã£ã¨ããæ°ããªãã£ãã
- ããã§ã 300x ãããã¾ã§ã¯æ¥½ããåå ã§ããã®ã§ãããåé¡ã ã£ãã¨æãã
- ã¹ã³ã¢ãã¼ãã®ä¸ä½ãè¦ã㨠ICFPc 常é£ãå¤ãæ°ããããè»éè¨ç®ã®å°éå®¶ãã¡ã¯ã©ããããICFPc ãªããè¦ã¦ãªãã®ãã
- 400x åè² ã«ãªãã¨æãè¾¼ãã§ã¦ã100x ã«ã®ã³ãããããã¨ã¯å¤¢ã«ãæããªãã£ããã¨ãããä»ã§ãããæ¹ãããã£ã¦ãªããã©ãããã®ã¼ã
- å kuma- ã®ã¡ã³ãã¼ã® pepusiso ãã¨ã¦ãå¥éããããã§ãå¬ãã䏿¹ã§ã¡ãã£ã´ãæãããã§ãå ¥è³ (= 1 ä½) ã§ããã¨ããã§ããã
ä¸å¿ã¹ã¯ãªã¼ã³ã·ã§ãããæ®ã£ã¦ã¿ãã

赤ãèªåãç·ã®è¡æã« 900 ç§éã©ã³ããã¼ (1 km 以å
ã«å±
ç¶ãã) ããã° OK ã

ã»ã¼ä¸å¨ãã¦ããã¹ã©ã¹ããã¦è¿½ããããã

ã²ã
ã¼ã

é å°ç¹ã§æ¸éæ¹åã«ã¹ã©ã¹ãã縮尺ãå°ããã®ã§ã»ã¨ãã©å¯ãæ·»ã£ã¦ãããã«è¦ãããã©ãã¾ã çµæ§é¢ãã¦ãã

è¿å°ç¹ã§ã¾ãæ¸éãã¦ãè¥å¹²ãã¼ãã³ã°ãã¦ç·ã®è¡æã¨åãè»éã«ä¹ãã¦çµããã