foræ
for æã使ãã¨å°ã楽ã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ 8 種é¡ã®æ¹è§ã表ãæåå ãä¸ãããããæ¬¡ã®ããããã§ããã åï¼N æ±ï¼E 西ï¼W åï¼S åæ±ï¼NE å西ï¼NW åæ±ï¼SE å西ï¼SW ä¸ããããæååã®åå¯¾ã®æ¹è§ã表ãæååãåºåããã è§£æ³ 8 éãã®å ´åãâ¦
A åé¡ã¨ãã¦ã¯ãå°ãé£ãããªæãã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ 1, 2, 3, 4, 5 ãä¸¦ã³æ¿ãã¦å¾ãããæ°å ãä¸ããããããã®æ°åã«å¯¾ã㦠ã飿¥ããæ§åã swap ããã ã¨ããæä½ãã¡ããã© 1 åã ãè¡ã£ã¦ãå調å¢å ã«ã§ãããã©ãããå¤å®ããã èããâ¦
for æã¾ã㯠while æã®ç·´ç¿åé¡ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æ£ã®æ´æ° ãä¸ãããããããæ£ã®æ´æ° ãåå¨ãã¦ ãæºãããã¨ãä¿è¨¼ãããã ãæ±ããã å¶ç´ èããã㨠ã¨è¨ç®ãç¶ãã¦ãã£ã¦ã ã«ä¸è´ããã¨ããã§ break ãã¦ããã®ã¨ãã®å¤ãçããã°ãããâ¦
å ¨æ¢ç´¢ã«æ £ãããï¼ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ åãæååãäºåé£çµãã¦ã§ãããããªæååããå¶æååãã¨ãã¶ã ä¸ããããå¶æåå ã«ã¤ãã¦ãæ«å°¾ã®æåã 1 æå以䏿¶ãã¦ä½ããå¶æååã®ãã¡ããã®æå¤§é·ãçããã å¶ç´ èãããã¨ å ¨æ¢ç´¢ãããï¼â¦
ç¾ä»£ã® AtCoder ã«ã¯ãã¾ããªããä¸è¡èªã¿è¾¼ã¿ããè¦æ±ããåé¡ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ "Left Left Right Right AtCoder" ã®ããã«ã"Left", "Right", "AtCoder" ã®ããããã空ç½åºåãã§é£çµããæååãä¸è¡ã§ä¸ããããã "Left" 㯠"<" ã« replace ãâ¦
ã¡ãã£ã¨çºæ³ãå¿ è¦ãªåé¡ã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ åã®å®¶ã並ãã§ããã åç®ã®å®¶ã¯åº§æ¨ ã«ããããã®ãã¹ã¦ã®å®¶ã«ãã¬ã¼ã³ããé ãã 好ããªå ´æããéå§ã好ããªå ´æã§çµäºãããã¨ãã§ããã¨ããæå°ã®ç§»åè·é¢ãæ±ããã å¶ç´ èããã㨠ä¸ã®å³ã®ãâ¦
B åé¡ã¨ãã¦ã¯æããã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ ã¬ã¼ãã£ã³ã°ã ã®äººã åã³ã³ãã¹ãã«åå ããã åç®ã®ã³ã³ãã¹ãã§ã¯ãDiv. ã®ã³ã³ãã¹ãã«åå ãã¦ãããã¬ã¼ãã£ã³ã°æ´æ°å¯¾è±¡è ã§ããã°ãã¬ã¼ãã£ã³ã°ã¯ ã ãå ç®ãããï¼è² å¤ãããããï¼ã ARC Div.â¦
ãã 150 ç¹ãªã®ã¯è§£éä¸è´ã ããé£ããã¨æããã©ãDifficulty ã 19 ã¨ãããä½ãã®ãé©ãï¼ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ ä»ãæå» 0 ã§æ°´ã¯ 0 L ãã¾ã£ã¦ããã ããããæå» ã«ããããæ°´ã L 注ãããã ãªããæ°´ã 1 L 以ä¸ããã¨ããæå»ã 1 çµéãããâ¦
for æã®åºæ¬åé¡ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ é·ã ã®æåå ãä¸ããããã ã®åæåã«ã¤ãã¦ãæå ã§ãªããã®ããã¹ã¦æå ã«ç½®ãæãããã®ãåºåããã èããã㨠for æã®ç·´ç¿åé¡ã¨ãããã for æãç¨ãã¦ã ã®åæåã«ã¤ãã¦ã ã§ãããã©ãããå¤å®â¦
è¿å¹´ã® B åé¡ã§ã¯æãç°¡åãããããªãã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æå .ã@ ãããªãé·ã ã®æåå ãä¸ãããããå¾ãããé ã« åã® @ ã . ã«å¤ãããã®ãåºåããã èããã㨠for æãç¨ãã¦ãæ·»åã ã¨ããéé ã«åãã¦ããã S[i] == '@' ã®ã¨ã â¦
ã¡ããã¨æ´çããã®ã¯å¤§å¤ã ãè½ã¡çãã¦æ´çãããã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ é·ã ã®æåå ãä¸ããããã ã "11/22 æåå" ã§ãããã©ãããå¤å®ããã 11/22 æååã§ããã¨ã¯ãæå 1, /, 2 ããã®é ã«ä¸¦ãã§ãã¦ã1 㨠2 ã®åæ°ãçãããã®ãããâ¦
å顿ããããããæ¸ãæ¹ããã¦ãããã©ããè¦ããã«ãããããã¨ï¼ãã¨ããè¨ãæããã§ããã¨ããã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æå ., @ ãããªãé·ã ã®æåå ãä¸ããããã@ ãå·¦ããé ã« åã ã . ã«æ¸ãæããã æ¸ãæãããã¨ã®æååã«å«ã¾ããâ¦
for æã®ç·´ç¿åé¡ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ é·ãã®çãã 2 ã¤ã®æåå ãä¸ããããã ã«å«ã¾ããåæå '@' ã«ã¤ãã¦ã'a', 't', 'c', 'o', 'd', 'e', 'r' ã®ããããã«ç½®ãå¤ãããã¨ã§ã ãä¸è´ããããã«ã§ããããå¤å®ããã å¶ç´ [tex 1 \le |S| = |Tâ¦
åæ©çãªæ§æè§£æåé¡ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ "|---|-|----|-|-----|" ã®ãããªãæå '-' ãæå '|' ã§ separate ãããæåå ãä¸ããããã å '-' åºéã® '-' ã®åæ°ãé ã«åºåããã å¶ç´ èããã㨠ããã§ã¯ for æã§è§£ãã¦ã¿ãããæ¬¡ã®å¤æ°ã管â¦
ã½ã¼ãã使ãããªãããããæ¥½ã ã¨æã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ 6 æ¡ã®æ£ã®æ´æ° ãä¸ããããã ãæ¬¡ã®æ¡ä»¶ãæºãããã©ãããå¤å®ããã 1 ãã¡ããã© 1 åå«ã 2 ãã¡ããã© 2 åå«ã 3 ãã¡ããã© 3 åå«ã è§£æ³ (1)ï¼1, 2, 3 ã®åæ°ãæ°ããæ¹æ³ for æâ¦
ãã®åé¡ã¯ãfor æã§ãè§£ããããmap ã§ãè§£ãããããã§ã¯ map ã§è§£ãã¦ã¿ããã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ åã®æåå ã¨ã åã®æåå ãä¸ããããã ããã«å¯¾ãã¦æååãèãã¦ããã®æååã«å¯¾ããã¹ã³ã¢ã¯ ( ã«å«ã¾ãã¦ããåã®åæ°) - ( ã«å«ã¾ãã¦â¦
if æã並ã¹ã¦ãããããmap ã使ã£ã¦ãããããã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æåå ãä¸ããããã ã®åæåã«å¯¾ãã¦ã O â 0 D â 0 I â 1 Z â 2 S â 5 B â 8 ããä»¥å¤ â ãã®ã¾ã¾ ã¨ãã夿ããã¦å¾ãããæååãçããã ã³ã¼ã (1)ï¼if æ if æã使ã£â¦
ãµã³ãã«ãè¦ãã°ä¸éãåããç³»ã®åé¡ï¼ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ åæ¡ã®å¤ã 1 ã§ããæ°ãã¬ãã¦ãããæ°ã¨ããã ã¬ãã¦ãããæ° 3 åã®åã¨ãã¦èããããæ°ã®ãã¡ã çªç®ã«å°ããæ°ãæ±ããã å¶ç´ èããã㨠ã¾ããåé¡æã®æ¡ä»¶ãæºããæ°ãããªã¬ãâ¦
ãååã®å¤ããä¿æããªããã·ãã¥ã¬ã¼ã·ã§ã³ããç³» åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ ãã¿ã³ãæ¼ãã¨ã1 åã®é£´ãããããããåå飴ãããã£ã¦ãã ç§éã¯ããããªãã 髿©å㯠åãã¿ã³ãæ¼ããããããã ç§å¾ã«æ¼ããï¼ãããã¯å調å¢å ï¼ã ä½å飴ãããããâ¦
æååã for æã§èª¿ã¹ãç³»ã®åé¡ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æå #, . ãããªãé·ã ã®æåå ãä¸ãããããæ¬¡ã®æ¡ä»¶ãæºããæ´æ° ã®åæ°ãæ±ããã = # = . = # èããã㨠次ã®ããã«èããã¨å®è£ ããããã å ã«å¯¾ãã¦ãæåå ã® æåç®ãã 3 æåæâ¦
2 ã¤ã®æååã®é·ããçããã£ãããç°ãªã£ããããã®ãå°ãã¤ã¤ã ããé£ããã¯ãªãã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æåå ãä¸ããããã ã¾ã㯠ã§ããã ã®åæåãå é ããé ã«äº¤äºã«ã¨ã£ã¦å¾ãããæååãåºåããã èããã㨠ã¾ãã¯ã ã«å¯¾ãã¦ã 㨠â¦
æåå ã®ãµã¤ãºãç°ãªãå ´åã®å¦çãªã©ãã¡ãã£ã¨ã ããããããã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æåå ãä¸ãããããæ¬¡ã®ããããã®æ¡ä»¶ãæºããæå°ã® ãæ±ããããã ãã ã§ããå ´å㯠0 ã¨çããã ã㤠ã§ãã£ã¦ã ã§ãã ] ã㤠ã§ãã ] ã㤠ã§ãã â¦
æååãé åãfor æã®ç·´ç¿ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æåå ãä¸ããããã æåå ã®é·ãã ã§ãããã㪠ã®åæ°ãæ±ããã èããã㨠for æã使ã£ã¦ ã«ã¤ãã¦ã if (S[i].size() == i) ã¨ããããã«å¤å®ãã¦ããã°ããã ã³ã¼ã #include <bits/stdc++.h> using names</bits/stdc++.h>â¦
for æã®ç·´ç¿ï¼ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ åã®æ´æ° ã®ãã¡ãæå¤§å¤ã¨æå°å¤ãé¤å¤ãã åã®æ´æ°ã®ç·åãæ±ããã å¶ç´ åã®æ´æ°ã¯ãã¹ã¦äºãã«ç¸ç°ãªã è§£æ³ ã¾ã åã®æ´æ°ããé åãã¨ãã¦åãåãã¾ããã (C++ ã§ã¯ vector<int> åãªã©)ã ãã®å¾ãé åã«å¯¾ã</int>â¦
continue æãæ¸ããã¨ãããããã¨æãããã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ è±å°æåã¨æå '.' ãããªãæåå ãä¸ããããã ããæå '.' ãé¤å¤ãã¦ã§ããæååãåºåããã èããã㨠for æãç¨ãã¦æåå ã®æåãé ã«è¦ã¦ãããããã®éã«ã çªç®ã®â¦
å¶ç´ã ãªã®ãã³ã£ãããç´ ç´ã«é£ç¶é¨ååããã¹ã¦èª¿ã¹ã㨠TLE ãã¦ãã¾ãããã®ãããªåé¡ã¯ B åé¡ã§ç»å ´ããã¤ã¡ã¼ã¸ããªãã®ã§ãç¾ä»£ãªã ãªã©ã¨ãããã ã åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æåå ã®é£ç¶ããé¨åæååã§ãã£ã¦ãå é ã 'A' ã§æ«å°¾ã 'Z' ã§â¦
å¤é for æã®ç·´ç¿ï¼ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ 2 ã¤ã®æ°å ã ãä¸ãããããæ°å ãããããã 1 åãã¤é¸ãã§ã§ãã åã®ãã¢ã«ã¤ã㦠ããã®åãã¨ããã®æå¤§å¤ãã®ç© ãæ±ãã¦ããããã®ç·åãæ±ããã å¶ç´ èããã㨠2 ã¤ã®æ°åããããããè¦ç´ ãã¨â¦
for æã¨ if æã®ç·´ç¿ï¼ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ æå J, O, I ãããªãé·ã ã®æåå ãä¸ããããã ãã®æååã«ããã¦ãJ ã O ã«ãO ã I ã«ãI ã J ã«ç½®æããæååãçããã è§£æ³ for æãç¨ãããã¨ã§ã ã®åæåã«ã¢ã¯ã»ã¹ãããã¨ãã§ãããå·¦â¦
綺éºãªè¨èã§æ¡ä»¶ãè¨ãæãããï¼ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ ä¸åã«ç½è²ç¢ç³ã¨é»è²ç¢ç³ãåè¨ å並ãã§ããã å·¦å³ã®ããããã«ç½è²ç¢ç³ã¨é»è²ç¢ç³ãç½®ãã¦ããããã®ã¨ãããªã»ãã®ã«ã¼ã«ã«åºã¥ãã¦ç³ã®è²ãã²ã£ããè¿ãã ãã¹ã¦ã®è²ãåè²ã«ããã®ã«å¿ è¦â¦
for æãåãå¦çã åããåé¡ åé¡ã¸ã®ãªã³ã¯ å顿¦è¦ åã®æ´æ°ãããªãæ°å ãä¸ãããããæ¬¡ã® åã®ã¯ã¨ãªã«çããã ãã¯ã¨ãªã æ´æ° ãä¸ããããã ã ã«å¤æ´ããã¨ãã®ã ã®å¤ãçãããï¼ãªããã¯ã¨ãªãã¨ã«å¤æ´ã¯å¼ãç¶ãããªããï¼ èããã㨠â¦