ã‚ãªãŸã¯è¦ªå‹ã§ã‚ã‚‹ã¿ã•ã‚ã•ã‚“ã®èª•ç”Ÿæ—¥ãŒè¿‘ã„ã“ã¨ã«æ°—ã¥ãï¼Œæ ¹ä»˜ãã®äºŒåˆ†æœ¨ã‚’プレゼントã™ã‚‹ã“ã¨ã«ã—ãŸï¼Ž ã“ã“ã§ï¼Œæ ¹ä»˜ãã®äºŒåˆ†æœ¨ã¨ã¯ï¼Œä»¥ä¸‹ã®ã‚ˆã†ãªã‚°ãƒ©ãƒ•æ§‹é€ ã§ã‚る.(図 1)
図 1. 2 ã¤ã®æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã¨ãã®åˆæˆã®ä¾‹
ã‚ãªãŸã¯æ‰‹ä½œã‚Šã®å“を贈りãŸã„ã¨è€ƒãˆãŸã®ã§ï¼Œå¸‚販ã®æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã‚’ 2 ã¤è²·ã£ã¦ãã¦é‡ãåˆã‚ã›ã¦åˆæˆã™ã‚‹ã“ã¨ã§ï¼Œã•ã‚‰ã«ã‚ˆã„æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã‚’ 1 ã¤ä½œã‚‹ã“ã¨ã«ã—ãŸï¼Ž ã‚ãªãŸãŒè²·ã£ã¦ã㟠2 ã¤ã®æœ¨ã®å„é ‚ç‚¹ã«ã¯éžè² ã®æ•´æ•°ãŒæ›¸ã‹ã‚Œã¦ã„る. ã¿ã•ã‚ã•ã‚“ã¯å°‘ãªã„é ‚ç‚¹æ•°ã§å„数値ãŒå¤§ãã„よã†ãªï¼Œã‚³ã‚¹ãƒˆãƒ‘フォーマンスãŒã‚ˆã„木ãŒå¥½ã¿ãªã®ã§ï¼Œä»¥ä¸‹ã®æ‰‹é †ã«æ²¿ã£ã¦æ–°ã—ã„二分木を作るã“ã¨ã«ã™ã‚‹ï¼Ž
ã‚ãªãŸã¯å®Ÿéš›ã«åˆæˆã™ã‚‹ä½œæ¥ã‚’è¡Œã†å‰ã«ï¼Œã§ãã‚ãŒã‚‹æ ¹ä»˜ãã®äºŒåˆ†æœ¨ãŒã©ã®ã‚ˆã†ã«ãªã‚‹ã®ã‹ç¢ºã‹ã‚ã‚‹ã“ã¨ã«ã—ãŸï¼Ž è²·ã£ã¦ã㟠2 ã¤ã®æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã®æƒ…å ±ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã®ã§ï¼Œä¸Šè¨˜ã®æ‰‹é †ã«å¾“ã£ã¦åˆæˆã•ã‚Œã‚‹æ–°ã—ã„æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã‚’求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã›ã‚ˆï¼Ž
ã“ã“ã§ï¼Œæ ¹ä»˜ãã®äºŒåˆ†æœ¨ã®æƒ…å ±ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªå½¢å¼ã§æ–‡å—列ã¨ã—ã¦è¡¨ç¾ã™ã‚‹ã‚‚ã®ã¨ã™ã‚‹ï¼Ž
(å·¦ã®åを表ã™æ–‡å—列)[æ ¹ã«æ›¸ã‹ã‚ŒãŸæ•´æ•°](å³ã®åを表ã™æ–‡å—列)
節点ãŒå˜åœ¨ã—ãªã„木ã¯ç©ºæ–‡å—列ã¨ã™ã‚‹ï¼Žä¾‹ãˆã°å›³ 1 ã®åˆæˆã•ã‚Œã¦ã§ããŸæ–°ã—ã„æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã¯ (()[6]())[8](((()[4]())[7]())[9]())
ã®ã‚ˆã†ã«æ›¸ã.
入力ã¯æ¬¡ã®å½¢å¼ã§è¡¨ã•ã‚Œã‚‹ï¼Ž
A
B
A,B ã¯ãã‚Œãžã‚Œè²·ã£ã¦ããŸæ ¹ä»˜ãã®äºŒåˆ†æœ¨ã®æƒ…å ±ã‚’è¡¨ã™æ–‡å—列ã§ã‚り,長ã•ã¯ 7 以上 1000 以下ã§ã‚る. 与ãˆã‚‰ã‚Œã‚‹æƒ…å ±ã¯å‰è¿°ã®å½¢å¼ã«å¾“ã£ã¦ãŠã‚Šï¼Œä½™è¨ˆãªç©ºç™½æ–‡å—ç‰ã‚’å«ã¾ãªã„. ã¾ãŸï¼Œç¯€ç‚¹ãŒå˜åœ¨ã—ãªã„æ ¹ä»˜ã木ãŒå…¥åŠ›ã•ã‚Œã‚‹ã“ã¨ã¯ãªã„. å„節点ã«æ›¸ã‹ã‚ŒãŸæ•´æ•°ã¯ 0 以上 1000 以下ã§ã‚ã‚‹ã¨ä»®å®šã—ã¦ã‚ˆã„. ãŸã ã—,出力ã®å„節点ã«æ›¸ã‹ã‚Œã‚‹æ•´æ•°ã¯ã“ã®ç¯„囲ã«åŽã¾ã‚‰ãªã„å ´åˆã‚‚ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã›ã‚ˆï¼Ž
2 ã¤ã®æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã‚’åˆæˆã—ã¦ã§ãã‚ãŒã‚‹æ–°ã—ã„æ ¹ä»˜ãã®äºŒåˆ†æœ¨ã®æƒ…å ±ã‚’ 1 è¡Œã§å‡ºåŠ›ã›ã‚ˆï¼Žç‰¹ã«ï¼Œè¡Œæœ«ã®æ”¹è¡Œã‚’除ã余計ãªç©ºç™½æ–‡å—ç‰ã‚’å«ã¾ãªã„よã†æ³¨æ„ã›ã‚ˆï¼Ž
((()[8]())[2]())[5](((()[2]())[6](()[3]()))[1]()) (()[4]())[3](((()[2]())[1]())[8](()[3]()))
(()[6]())[8](((()[4]())[7]())[9]())
(()[1]())[2](()[3]()) (()[1](()[2]()))[3]()
(()[2]())[5]()
(()[1]())[111]() ()[999](()[9]())
()[1110]()
(()[2](()[4]()))[8]((()[16]())[32](()[64]())) ((()[1]())[3]())[9](()[27](()[81]()))
(()[5]())[17](()[59](()[145]()))
()[0]() ()[1000]()
()[1000]()