ãã†ã ,僕ã®ãƒãƒ³ãƒ‰ãƒ«ãƒãƒ¼ãƒ 㯠(iwi) ã . 僕ã¯ç¢ºã‹ã«æ˜”ã«ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚³ãƒ³ãƒ†ã‚¹ãƒˆã«å‚åŠ ã—ã¦ã„ãŸï¼Ž ãã—ã¦ï¼Œå¤šãã®ä»²é–“ã¨æ¥½ã—ã„時間をéŽã”ã—ãŸï¼Ž
確ã‹ï¼Œä»²é–“ãŸã¡ã¯å…¨å“¡ï¼Œç¾Žå°‘女ã ã£ãŸã‚ˆã†ãªæ°—ãŒã™ã‚‹ï¼Ž プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚³ãƒ³ãƒ†ã‚¹ãƒˆã®ä¸–ç•Œã¯ï¼Œåƒ•ã®ãƒãƒ¼ãƒ¬ãƒ ã ã£ãŸã‚ˆã†ãªæ°—ãŒã™ã‚‹ï¼Ž Gâ—‹â—‹gle ã¯ï¼Œåƒ•ã®ãƒãƒ¼ãƒ¬ãƒ を奪ã£ãŸã®ã ,ãã†ã«é•ã„ãªã„. 昔ã®ä»²é–“ã®æ‰‹ãŒã‹ã‚Šã‚’ã¤ã‹ã‚€ãŸã‚ã«ã‚‚,やã¯ã‚Šãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚³ãƒ³ãƒ†ã‚¹ãƒˆã«å‡ºãªã‘ã‚Œã°ãªã‚‰ãªã„.
Gâ—‹â—‹gle Code Jam ã«å‚åŠ ç™»éŒ²ã™ã‚‹ã“ã¨ã«ã—よã†ï¼Ž 今度㮠ID ã«ã¯ï¼Œä¸¸æ‹¬å¼§ä»¥å¤–ã®æ‹¬å¼§ã‚‚検討ã«å…¥ã‚Œã¦ã¿ã‚ˆã†ï¼Ž
'i', 'w', '(', ')', '{', '}', '[', ']' ã‹ã‚‰ãªã‚‹æ–‡å—列ãŒä¸Žãˆã‚‰ã‚ŒãŸæ™‚, ãã®éƒ¨åˆ†åˆ—ã‚’ã¨ã£ã¦ï¼Œç·šå¯¾ç§°ãªæ–‡å—列を作りãŸã„. 最大ã§ä½•æ–‡å—ã®æ–‡å—列を作るã“ã¨ãŒã§ãã‚‹ã‹ã‚’計算ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã›ã‚ˆï¼Ž
与ãˆã‚‰ã‚Œã‚‹æ–‡å—列ã¯ï¼Œ "iwi" ã¨ã„ã†æ–‡å—列を一度å«ã¿ï¼Œãれ以外ã®éƒ¨åˆ†ã«ã¯ 'i' 㨠'w' ã‚’å«ã¾ãªã„. より形å¼çš„ã«ã¯ï¼Œä¸Žãˆã‚‰ã‚Œã‚‹æ–‡å—列㯠s "iwi" t (s 㨠"iwi" 㨠t を連çµã—ãŸã‚‚ã®ï¼‰ã¨ã„ã†å½¢ã§è¡¨ã™ã“ã¨ãŒã§ã, s 㨠t 㯠'(', ')', '{', '}', '[', ']' ã‹ã‚‰ãªã‚‹æ–‡å—列ã§ã‚る. s ã‚„ t ㌠0 æ–‡å—ã§ã‚ã‚‹å¯èƒ½æ€§ã‚‚ã‚る.
作る文å—列ã¯ï¼Œä¸Žãˆã‚‰ã‚Œã‚‹æ–‡å—列ã®éƒ¨åˆ†åˆ—ã‚’ã¨ã£ã¦ä½œã‚‹ï¼Ž 部分列ã¨ã¯ï¼Œå…ƒã®æ–‡å—列ã‹ã‚‰ã„ãã¤ã‹ã®æ–‡å—ã‚’å–り出ã—,ãれらを, å…ƒã®æ–‡å—列ã«å«ã¾ã‚Œã‚‹é †ç•ªã§ç¹‹ã’ãŸã‚‚ã®ã§ã‚る. å–り出ã™æ–‡å—ãŸã¡ã¯å¿…ãšã—ã‚‚å…ƒã®æ–‡å—列ã§é€£ç¶šã—ã¦ã„ãªãã¦ã‚‚良ã„.
ã¾ãŸï¼Œä½œã‚‹æ–‡å—列も,与ãˆã‚‰ã‚Œã‚‹æ–‡å—列ã¨åŒæ§˜ã«ï¼Œ"iwi" ã¨ã„ã†æ–‡å—列を一度å«ã¿ï¼Œ ãれ以外ã®éƒ¨åˆ†ã«ã¯ 'i' 㨠'w' ã¯å«ã¾ãªã„よã†ã«ã—ãŸã„.
ã“ã“ã§ç”¨ã„ã‚‹å·¦å³ã«ç·šå¯¾ç§°ã®å®šç¾©ã¯ï¼Œä»¥ä¸‹ã¨ã™ã‚‹ï¼Ž
- 空文å—列
- "i"
- "w"
- "i" x "i"
- "w" x "w"
- "(" x ")"
- ")" x "("
- "{" x "}"
- "}" x "{"
- "[" x "]"
- "]" x "["
入力㯠'i', 'w', '(', ')', '{', '}', '[', ']' ã‹ã‚‰ãªã‚Šä¸Šè¨˜ã®æ¡ä»¶ã‚’満ãŸã™æ–‡å—列ã§ã‚る.
上記ã®æ¡ä»¶ã‚’満ãŸã—作るã“ã¨ã®ã§ãã‚‹æ–‡å—列ã®é•·ã•ã®æœ€å¤§å€¤ã‚’出力ã›ã‚ˆï¼Ž
入力例 1:
[[[iwi[[[
入力例 1 ã«å¯¾ã™ã‚‹å‡ºåŠ›ä¾‹:
3
"iwi" ã¨ã„ã†æ–‡å—列ã—ã‹ä½œã‚‹ã“ã¨ãŒã§ããªã„.
入力例 2:
[{)iwi(]}
入力例 2 ã«å¯¾ã™ã‚‹å‡ºåŠ›ä¾‹:
7
"[)iwi(]" ã‚„ "{)iwi(}" ãªã© 7 æ–‡å—ã®æ–‡å—列を作るã“ã¨ãŒã§ãる.