IOI 国ã§ã¯ã“ã®ãŸã³æ–°ãŸã«é‰„é“ã‚’æ•·è¨ã—ãŸï¼ŽIOI 国ã®é‰„é“を走る列車ã¯ã„ãã¤ã‹ã®è»Šä¸¡ãŒé€£çµã•ã‚ŒãŸã‚‚ã®ã§ã‚り,車両ã«ã¯ I, O ã® 2 種類ãŒã‚る.車両ã¯ãã‚Œãžã‚Œç•°ãªã‚‹ç¨®é¡žã®è»Šä¸¡ã¨ã—ã‹é€£çµã§ããªã„.ã¾ãŸï¼Œåˆ—車ã«é‹è»¢å¸ã‚’è¨ã‘る関係上,列車ã®ä¸¡ç«¯ã®è»Šä¸¡ã¯ç¨®é¡ž I ã§ãªã‘ã‚Œã°ãªã‚‰ãªã„.列車ã¯è»Šä¸¡ã®ç¨®é¡žã‚’表ã™æ–‡å—ã‚’é †ã«ã¤ãªã’ãŸæ–‡å—列ã§è¡¨ã•ã‚Œï¼Œåˆ—車ã®é•·ã•ã¯ãã®æ–‡å—列ã®é•·ã•ã§ã‚ã‚‹ã¨ã™ã‚‹ï¼ŽãŸã¨ãˆã°ï¼Œ IOIOI ã®é †ã«è»Šä¸¡ã‚’連çµã™ã‚‹ã¨é•·ã• 5 ã®åˆ—車を編æˆã§ã,ã¾ãŸè»Šä¸¡ I ã¯å˜ç‹¬ã§é•·ã• 1 ã®åˆ—車ã§ã‚る.車両を OIOI ã‚„ IOOI ã¨ã„ã£ãŸé †ã«ä¸¦ã¹ã¦ã‚‚列車を編æˆã™ã‚‹ã“ã¨ã¯ã§ããªã„.
ã„ãã¤ã‹ã®è»Šä¸¡ãŒ 2 ã¤ã®è»Šåº«ã«æ ¼ç´ã•ã‚Œã¦ã„る.ãã‚Œãžã‚Œã®è»Šåº«ã®ä¸ã«ã¯è»Šä¸¡ãŒä¸€åˆ—ã«ä¸¦ã‚“ã§ã„る.列車を編æˆã™ã‚‹ã¨ãã¯è»Šåº«ã‹ã‚‰è»Šä¸¡ã‚’出ã—ã¦ãã¦è»Šåº«å‰ã§é€£çµã—ã¦ã„ã.車庫ã‹ã‚‰å‡ºã›ã‚‹è»Šä¸¡ã¯æœ€ã‚‚車庫ã®å…¥ã‚Šå£ã«è¿‘ã„車両ã®ã¿ã§ã‚ã‚‹ãŒï¼Œã©ã¡ã‚‰ã®è»Šåº«ã‹ã‚‰è»Šä¸¡ã‚’出ã™ã‹ã®é †ç•ªã«ã¤ã„ã¦ã¯è‡ªç”±ã§ã‚る.
列車を編æˆã™ã‚‹å‰ã«ï¼Œè»Šä¸¡ã‚’好ããªã ã‘車庫ã‹ã‚‰å‡ºã—ã¦åˆ¥ã®å¾…機用レールã«ç§»ã™ã“ã¨ãŒã§ãる.一度待機用レールã«ç§»ã—ãŸè»Šä¸¡ã¯ä»Šå¾Œåˆ—車を編æˆã™ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ã¯ã§ããªã„.ã¾ãŸï¼Œä¸€åº¦åˆ—車ã®ç·¨æˆã‚’始ã‚ã‚‹ã¨ãã®ç·¨æˆãŒçµ‚ã‚ã‚‹ã¾ã§ã®é–“ã¯è»Šä¸¡ã‚’車庫ã‹ã‚‰å¾…機用レールã«ç§»ã™ã“ã¨ã¯ã§ããªã„.
列車を編æˆã™ã‚‹ã¨ã,車庫内ã®å…¨ã¦ã®è»Šä¸¡ã‚’使ã„切る必è¦ã¯ãªã„.ã™ãªã‚ã¡ï¼Œåˆ—車ã®ç·¨æˆã‚’終ãˆãŸå¾Œï¼Œè»Šåº«å†…ã«ä½¿ã‚ã‚Œãªã‹ã£ãŸè»Šä¸¡ãŒæ®‹ã£ã¦ã„ã¦ã‚‚構ã‚ãªã„.
IOI 国ã§ã¯é‰„é“ã«ä¹—る人ãŒã¨ã¦ã‚‚ãŸãã•ã‚“ã„ã‚‹ã¨è€ƒãˆã‚‰ã‚Œã¦ã„ã‚‹ã®ã§ï¼Œã§ãã‚‹ã ã‘é•·ã„列車を編æˆã—ãŸã„.
図: 列車を編æˆã—ã¦ã„る途ä¸ã§ã‚り,ã“ã®ã¨ã車庫ã«ã‚る車両を待機用レールã«ç§»ã™ã“ã¨ã¯ã§ããªã„.ã“ã®å›³ã¯å…¥å‡ºåŠ›ä¾‹1 ã«å¯¾å¿œã—ã¦ã„る.
車庫ã«æ ¼ç´ã•ã‚ŒãŸè»Šä¸¡ã®æƒ…å ±ãŒä¸Žãˆã‚‰ã‚ŒãŸã¨ã,編æˆã§ãる列車ã®é•·ã•ã®æœ€å¤§å€¤ã‚’求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã›ã‚ˆï¼Žãã‚Œãžã‚Œã®è»Šåº«ã«æ ¼ç´ã•ã‚ŒãŸè»Šä¸¡ã®åˆ—㯠2 種類ã®æ–‡å—I, O ã®ã¿ã‹ã‚‰ãªã‚‹æ–‡å—列ã§è¡¨ã•ã‚Œï¼Œ 2 ã¤ã®è»Šåº«ã®æƒ…å ±ã¯ãã‚Œãžã‚Œé•·ã• M ã®æ–‡å—列 S ãŠã‚ˆã³é•·ã• N ã®æ–‡å—列 T ã¨ã—ã¦ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Žå„æ–‡å—㌠1 ã¤ã®è»Šä¸¡ã‚’表ã—,ãã®æ–‡å—ã¯è»Šä¸¡ã®ç¨®é¡žã¨åŒã˜ã§ã‚る.文å—列ã®1 æ–‡å—ç›®ã¯æœ€ã‚‚車庫ã®å…¥ã‚Šå£ã«è¿‘ã„車両を表ã—,末尾ã®æ–‡å—ãŒè»Šåº«ã®æœ€ã‚‚奥ã«ã‚る車両を表ã™ï¼Ž
標準入力ã‹ã‚‰ä»¥ä¸‹ã®ãƒ‡ãƒ¼ã‚¿ã‚’èªã¿è¾¼ã‚.
標準出力ã«ï¼Œç·¨æˆã§ãる列車ã®é•·ã•ã®æœ€å¤§å€¤ã‚’表ã™æ•´æ•°ã‚’ 1 è¡Œã§å‡ºåŠ›ã›ã‚ˆï¼Ž 列車㌠1 ã¤ã‚‚ç·¨æˆã§ããªã„å ´åˆã¯ï¼Œ 0 を出力ã›ã‚ˆï¼Ž
5 5 OIOOI OOIOI
7
S ã«ã‚ˆã£ã¦è¡¨ã•ã‚Œã‚‹è»Šåº«ã‚’車庫 S ã¨ã—,T ã«ã‚ˆã£ã¦è¡¨ã•ã‚Œã‚‹è»Šåº«ã‚’車庫 T ã¨ã—よã†ï¼Žã“ã®ã¨ã,ãŸã¨ãˆã°è»Šåº« S ã‹ã‚‰æœ€åˆã®1 車両,車庫 T ã‹ã‚‰æœ€åˆã® 2 車両を出ã—ã¦å¾…æ©Ÿã•ã›ãŸå¾Œï¼Œè»Šåº« S,車庫 S,車庫 T,車庫 S,車庫 S,車庫 T,車庫 T ã®é †ç•ªã«è»Šä¸¡ã‚’出ã›ã°ï¼Œé•·ã•7 ã®åˆ—車 IOIOIOI ã‚’ç·¨æˆã§ãる.
ä»–ã«ã‚‚,車庫 S ã‹ã‚‰æœ€åˆã® 1 車両,車庫 T ã‹ã‚‰æœ€åˆã® 2 車両を出ã—ã¦å¾…æ©Ÿã•ã›ãŸå¾Œï¼Œè»Šåº« T,車庫 T,車庫 S,車庫 S,車庫 T,車庫 S,車庫 S ã®é †ç•ªã«è»Šä¸¡ã‚’出ã™ã“ã¨ã§ã‚‚é•·ã• 7 ã®åˆ—車を編æˆã§ãる.ã“れより長ã„列車を編æˆã™ã‚‹ã“ã¨ã¯ã§ããªã„ã®ã§ 7 を出力ã™ã‚‹ï¼Ž
5 9 IIIII IIIIIIIII
1
1 ã¤ã®è»Šä¸¡ã®ã¿ã‹ã‚‰ãªã‚‹åˆ—車 I も列車ã¨ã—ã¦ã®æ¡ä»¶ã‚’満ãŸã™ã“ã¨ã«æ³¨æ„ã›ã‚ˆï¼Ž
å•é¡Œæ–‡ã¨è‡ªå‹•å¯©åˆ¤ã«ä½¿ã‚れるデータã¯ã€æƒ…å ±ã‚ªãƒªãƒ³ãƒ”ãƒƒã‚¯æ—¥æœ¬å§”å“¡ä¼šãŒä½œæˆã—公開ã—ã¦ã„ã‚‹å•é¡Œæ–‡ã¨æŽ¡ç‚¹ç”¨ãƒ†ã‚¹ãƒˆãƒ‡ãƒ¼ã‚¿ã§ã™ã€‚