Paizaã§Sã©ã³ã¯ã«ãªã£ããã©æ®å¿µãªæ°æã¡ã«ãªã£ã
paizaã¨ãããããã°ã©ãåãã®è»¢è·ãµã¤ãããããã¯ã¦ãã«ãã¨ãã©ãéçºããã°ããããã³ããªã«ãªã£ã¦ã*1ãããè¦ããã¨ãã人ãå¤ãã¨æããããã§ä½ãã§ãããã¨ããã¨ãé£æåº¦å¥ã®åé¡ããã£ã¦ãèªåã®ã³ã¼ãã£ã³ã°ã¹ãã«ã測å®ãããããå ã«ã¹ãã«ã«è¦åã£ã転è·ãã§ãããï¼ã¨ãããã¨ã ãä»ã®ã¨ãã転è·ããæ°ã¯ãªããã©ã転è·ã®æ°ããªãäººãæ°è»½ã«åãã¦ã¿ã¦ãã¨æ¸ãã¦ãã£ãã®ã§ã試ãã¦ã¿ãã
ã§ãSã©ã³ã¯ã¾ã§ä¸ãã£ããã©ãåé¡ããã¾ãã«ãç°¡åããã¦ããã§Sã©ã³ã¯ã¨ã¯ããããããå ¨ç¶å·®ãåºãªãããããã¨æ®å¿µãªæãã ã£ãã
以ä¸èè¶³ã§ãã
ããæ¸ãã¦ã人ã®ç´ æ§
google code jamã«ãã3å¹´ãããåå ãã¦ãäºé¸ã¯çªç ´ãããã©ã1忦ãåã¡æããªããããããã°ã©ããè´å±ç®ã«è¦ã¦ãä¸ã®ä¸ãããã®å®åã ã¨æãï¼ãã®ããã°ã®ä»ã®ã¨ã³ããªãè¦ãã°ãå¯ãï¼ã
paizaã®åé¡ã«ã¤ãã¦
ä¸å¿ãå ¬ç§°ã¨ãã¦ã¯ãä¸è¨ã®ã¬ãã«ã«ãªã£ã¦ããã
åç´(Cã©ã³ã¯ã¾ã§ã®åé¡)
if,for,while,foreach,夿°ãé åã飿³é åãæååæä½ãã½ã¼ãã使ã£ã¦æç¤ºéãã®ããã°ã©ã ãæ¸ããããåçã¹ãã¼ããæ£ç¢ºæ§ãåãããã
ä¸ç´(Bã©ã³ã¯ã¾ã§ã®åé¡)
æç¤ºéãã«ãã¸ãã¯ãçµãã ãã§ãªããèªåã§å¹ççãªãã¸ãã¯ãèãã ããããã¾ãããªã¼æ§é ãæ¢ç´¢çã使ãã¢ã«ã´ãªãºã ãçµãããã
ä¸ç´(Sã©ã³ã¯ã¾ã§ã®åé¡)
O(n²)âO(n)ã®æ§ãªè¨ç®éãã¡ã¢ãªã®åæ¸ãæèããé«åº¦ãªã¢ã«ã´ãªãºã ãçµããããåé¡ã«ãã£ã¦ã¯æ°å¦ç(確çè¨ç®)åé¡ã«ã¤ãã¦ãåãã
ããã¯ãã°ãããåé¡ãã¡ã§ããï¼ãããªãç¡æã§ã¹ãã«ãã§ãã¯ã§ãããªãã¦ããªãã¦ãã°ããããµã¼ãã¹ãªãã§ãããï¼ï¼ï¼
ã¡ãªã¿ã«ãåãã¼ã¸ã«è¼ã£ã¦ããæ å ±ã§ã¯ãSã©ã³ã¯ãä¸ä½2%ãAã©ã³ã¯ã§ä¸ä½8%ãããã
å®éãã£ã¦ã¿ã
ã¨ãããã¨ã§ãåã©ã³ã¯ã®åé¡ãã²ã¨ã¤ãã¤ãã£ã¦ã¿ããåé¡å å®¹ã¯æ¸ãã¡ããã¡ãã¨æ¸ãã¦ãã£ãã®ã§ãããã¯å¾åã«å®ããã¨ã«ããã
Dã©ã³ã¯ã®åé¡ â foræãæ¸ããã°OKã ã£ã
Cã©ã³ã¯ã®åé¡ â ifæã¨foræãæ¸ããã°OKã ã£ã
ããããã確ãã«åç´ã¯ãã®è¾ºãæ±ããããããããBåé¡ããã¯ãã£ã¨é£ãããªããã ããã
Bã©ã³ã¯ã®åé¡ â ifæã¨foræãæ¸ããã°OKã ã£ã
Aã©ã³ã¯ã®åé¡ â ifæã¨foræãæ¸ããã°OKã ã£ã
Sã©ã³ã¯ã®åé¡ â ifæã¨foræãæ¸ããã°OKã ã£ã
ã©ããããã¨ï¼ï¼
çµæã¨ãã¦ãifã¨forã¨é åããæ¸ãã¦ãªãã
ä¸å¿åã«è§£ããã ãã§ã¯ã ãã§ãå¹çæ§ãæ±ãããããã¨ã«ã¯ãªã£ã¦ããï¼çã¡ã¢ãªã¨ããè¨ç®æéã¨ãï¼ã
ã§ãããããªãä¸åº¦ããã¨ãå¼ã£ãããããããï¼Google code jamã¨ããat coderã¨ãã ã¨ãçµæ§ãã®è¾ºã®å¹çåããã¢ã«ãªã£ã¦ãã¦ãããããã§ã¤ã¾ãã®ã ãã©ãããï¼
å顿èªä½ã¯ãã¬ãã«ãä¸ããã¨ä½ã¨ãããããããªã£ã¦ãããã©ãããã¯æ¥æ¬èªçã«ãããããã ãã§ãã¢ã«ã´ãªãºã çã«ã¯ããã®è¾ºã®å ¥éæ¸ãããã£ã½ã©ç°¡åãªãã¨ããæ±ãããã¦ãªããããã§ä¸ä½2%ã£ã¦è¨ããã¦ããããå°ã£ã¦ãã¾ããããããSã®åé¡ã§ããã¨åºããã¦ããã¾ããAã¨ã®å·®ãæããªãã¨ãããã
ä¸å¿å®épaizaçµç±ã§é¢æ¥ããå ´åã¯ãæ¸ããã½ã¼ã¹ã³ã¼ãã伿¥å´ã«éãããã®ã§ãè§£ããã°è¯ãã®ç³ã³ã¼ãã§ã¯ããã®å¾ã®åæºãªå±éã«ã¯æå¾ ã§ããªããã¨ã«ã¯ãªã£ã¦ãã£ã½ãã
ææ³
ã³ã¼ããå®éã«æ¸ãã¦ããããå ã«è»¢è·æ´»åã§ããã£ã¦èãã¯é¢ç½ãã¨æããã©ãæ£ç´ãªã¨ããç¾ç¶ã®åé¡ã§ã¯ãSã©ã³ã¯ã§ãã£ã¦è¨ãã®ã£ã¦ãTOEIC600ç¹ã§ãã£ã¦è¨ãã®ã¨å¤ãããªãã®ã§ã¯ãã£ã¦ç¨åº¦ã«æãã*2ãCodeIQã®ããã«ãã³ã¼ãã£ã³ã°ä»¥å¤ã®åé¡ãåºã¦ãããªãè¯ããã©ãã³ã¼ãã£ã³ã°ä¸æ¬ã§ããã°ãç°¡åãªåé¡ï¼ã¨ãããã¬ãã«å·®ãåºãªãåé¡ï¼ã ãã§ã¯å³ããã®ã§ã¯ããããã«ä¸éã§æ±ããããæ°´æºã®ããã¯ã¹ããã®ç¨åº¦ãã¨ãããã¨ã§ããã°å¯ãããã¨ãã®ä¸ç¡ãã ãããã£ã¨æ£è§£ç5%æªæºã¨ããããã£ãåé¡ããã³ãã³ã ãã¦ãã£ã¦æ¬²ãããã¨ãããã¨ã§ä»å¾ã«æå¾ ãã¦ã¾ãã
èè¶³ã«ç¶ãèè¶³
調ã¹ã¦ã¿ãã¨ããªããBã©ã³ã¯ãããããé£ããã¦è§£ããªãã£ã¦è¨ã£ã¦ã人ãããã«ã¯ããã£ã½ããã ããªã