パレス王国ã®ãƒ†ãƒˆãƒ©å§«ã¯ç„¡é¡žã®ãƒ‘ズル好ãã¨ã—ã¦çŸ¥ã‚‰ã‚Œã¦ãŠã‚Šï¼Œæœ€è¿‘ã¯è‡ªèº«ãŒè€ƒæ¡ˆã—ãŸã€Œãƒ†ãƒˆãƒ©ãƒ‘ズルã€ã«ç†±ä¸ã—ã¦ã„る.
ã“ã‚Œã¯ï¼Œæ£ä¸‰è§’å½¢ã®ãƒžã‚¹ã‚’æ•·ãè©°ã‚ãŸãƒœãƒ¼ãƒ‰ã¨ï¼Œãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã¨å‘¼ã°ã‚Œã‚‹ 4 æžšã®æ£ä¸‰è§’å½¢ã®ãƒ‘ãƒãƒ«ã‹ã‚‰ãªã‚‹æ£å››é¢ä½“ã®ãƒ–ãƒãƒƒã‚¯ã‚’使ã£ãŸãƒ‘ズルã§ã‚る.
パズルã®ç›®çš„ã¯ï¼Œãƒœãƒ¼ãƒ‰ä¸Šã®ã™ã¹ã¦ã®ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã‚’以下ã®æ¡ä»¶ã‚’ã¿ãŸã™ã‚ˆã†ã«å±•é–‹ã™ã‚‹ã“ã¨ã§ã‚る.
図F-1ã¯ãƒ†ãƒˆãƒ©ãƒ‘ズルã®å•é¡Œä¾‹ãŠã‚ˆã³ï¼Œãã®è§£ç”例ã§ã‚る.
★ã®ãƒžã‚¹ã¨â—ã®ãƒžã‚¹ã«ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ãŒç½®ã‹ã‚Œã¦ãŠã‚Šï¼Œãã‚Œãžã‚ŒãŒâ˜†ã®ãƒžã‚¹ã¨â—‹ã®ãƒžã‚¹ã‚’覆ã†ã‚ˆã†ã«æŒ‡å®šã•ã‚Œã¦ã„る.
解ç”例ã«ãŠã„ã¦ï¼Œæ¨ªç·šãŒå¼•ã‹ã‚ŒãŸãƒžã‚¹ã¯â˜…ã®ãƒžã‚¹ã«ç½®ã‹ã‚Œã¦ã„ãŸãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã‚’展開ã—ã¦è¦†ã£ãŸãƒžã‚¹ï¼Œç¸¦ç·šã®ãƒžã‚¹ã¯â—ã®ãƒžã‚¹ã«ç½®ã‹ã‚ŒãŸãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã§è¦†ã£ãŸãƒžã‚¹ã§ã‚る.
図 F-1: テトラパズルã®å•é¡Œä¾‹(å·¦)ãŠã‚ˆã³è§£ç”例(å³)
図F-2ã¯ï¼Œä¸Šå›³ã®å•é¡Œä¾‹ã«ãŠã‘る無効ãªè§£ç”例ã§ã‚る. å·¦ã®ä¾‹ã§ã¯â˜…ã®ãƒžã‚¹ã®çœŸä¸Šã®ãƒžã‚¹ãŒ2ã¤ã®ãƒ‘ãƒãƒ«ã§è¦†ã‚ã‚Œã¦ãŠã‚Šï¼Œå³ã®ä¾‹ã§ã¯ãã‚Œãžã‚ŒãŒãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã‚’展開ã—ã¦å¾—られる形状ã§ãªã„ãŸã‚,ç”ãˆã¨ã—ã¦ã¯èªã‚られãªã„.
図 F-2: 無効ãªè§£ç”例
テトラ姫ã¯ãƒ‘ズルã®é¢ç™½ã•ã‚’多ãã®äººã«çŸ¥ã£ã¦ã‚‚らã†ã¹ã,æ¥ãŸã‚‹å¤ã®ç¥å…¸ã«å‘ã‘ã¦ãƒ‘ズルã®å•é¡Œé›†ã‚’作ã£ãŸï¼Ž
ãã—ã¦ï¼ŒçŽ‹å›½ã§äºŒç•ªç›®ã®ãƒ‘ズル好ãã¨ã—ã¦å§«ã‹ã‚‰ä¿¡é ¼ã‚’ç½®ã‹ã‚Œã¦ã„ã‚‹ã‚ãªãŸã¯ï¼Œå•é¡Œé›†ã®ãƒã‚§ãƒƒã‚¯æ‹…当ã«ä»»å‘½ã•ã‚ŒãŸï¼Ž
ã•ã¦ï¼Œãƒã‚§ãƒƒã‚¯ä½œæ¥ã‚’進ã‚ã¦ã„ãŸã‚ãªãŸã¯å›°ã£ãŸäº‹ã«æ°—ãŒä»˜ã„ãŸï¼Ž å•é¡Œé›†ã«ã¯è§£ãŒå˜åœ¨ã—ãªã„パズルãŒå«ã¾ã‚Œã¦ã„るよã†ãªã®ã . ãªã‚‹ã¹ã姫ã®ä½œã£ãŸãƒ‘ズルを尊é‡ã—ãŸã„ã¨è€ƒãˆãŸã‚ãªãŸã¯ï¼Œè§£ãŒå˜åœ¨ã—ãªã„パズルã«ã¤ã„ã¦ï¼Œã©ã‚Œã‹ 1 個ã®ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã‚’ãã®ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ãŒè¦†ã†ã¹ãマスã®æƒ…å ±ã”ã¨å‰Šé™¤ã™ã‚‹ã“ã¨ã§ï¼Œãƒ‘ズルを解ã‘ã‚‹ã‚‚ã®ã«å¤‰ãˆã‚‹ã“ã¨ã«ã—ãŸï¼Ž 姫ã‹ã‚‰è¨€ã„渡ã•ã‚ŒãŸãƒã‚§ãƒƒã‚¯ã®ç· 切りã¾ã§ã¯ã‚ã¨3時間ã—ã‹ãªã„. å•é¡Œé›†ã‚’見ãªãŠã—ã¦ï¼Œæ‰‹æ—©ãä¿®æ£ã‚’済ã¾ã›ã¦ã—ã¾ãŠã†ï¼Ž
入力ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰æ§‹æˆã•ã‚Œã‚‹ï¼Ž
å„データセットã®å½¢å¼ã¯æ¬¡ã®é€šã‚Šã§ã‚る.
n x1a y1a x1b y1b x1c y1c x2a y2a x2b y2b x2c y2c ... xna yna xnb ynb xnc ync
n (2 ≤ n ≤ 5,000) ã¯ãƒœãƒ¼ãƒ‰ã«ç½®ã‹ã‚ŒãŸãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã®æ•°ã‚’表ã™æ•´æ•°ã§ã‚る.
å„テトラブãƒãƒƒã‚¯ã«ã¯ 1 ã‹ã‚‰ n ã®ç•ªå·ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„る.
続ã n è¡Œã¯ï¼Œãã‚Œãžã‚Œ 1 個ã®ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ 6 個ã®æ•´æ•°ã‹ã‚‰ãªã‚‹ï¼Ž
(xia, yia) 㯠i 番目ã®ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ãŒç½®ã‹ã‚Œã¦ã„るマスã®åº§æ¨™ã‚’表ã—,(xib, yib) ãŠã‚ˆã³ï¼Œ(xic, yic) ã¯ï¼Œãã‚Œãžã‚Œ i 番目ã®ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã‚’展開ã—ãŸæ™‚ã«è¦†ã†ã¹ãマスã®åº§æ¨™ã‚’表ã™ï¼Ž
与ãˆã‚‰ã‚Œã‚‹ x 座標ãŠã‚ˆã³ y 座標ã®çµ¶å¯¾å€¤ã¯ 20,000 以下ã¨ä»®å®šã—ã¦è‰¯ã„.
ã¾ãŸï¼Œä¸Žãˆã‚‰ã‚Œã‚‹åº§æ¨™ã¯å…¨ã¦äº’ã„ã«ç•°ãªã‚‹ã¨ä»®å®šã—ã¦è‰¯ã„.
ã™ãªã‚ã¡ï¼ŒåŒã˜ãƒžã‚¹ã« 2 個以上ã®ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ãŒç½®ã‹ã‚Œã‚‹äº‹ã‚„,テトラブãƒãƒƒã‚¯ãŒç½®ã‹ã‚Œã¦ã„るマスãŒè¦†ã†ã¹ãマスã¨ã—ã¦æŒ‡å®šã•ã‚Œã‚‹äº‹ã‚„,覆ã†ã¹ãマスãŒé‡è¤‡ã—ã¦æŒ‡å®šã•ã‚Œã‚‹äº‹ã¯ãªã„.
å„マスã«ã¯å›³F-3ã®ã‚ˆã†ã«åº§æ¨™ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„る.
図 F-3: マスã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸåº§æ¨™
n=0 ã¯å…¥åŠ›ã®çµ‚ã‚りを示ã™ï¼Žã“ã‚Œã¯ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã«ã¯å«ã‚ãªã„.
å„データセットã«ã¤ã„ã¦ï¼Œãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã‚’除ãã“ã¨ãªãパズルãŒè§£ã‘ã‚‹å ´åˆã¯ Valid ã‚’ãã‚Œãžã‚Œ 1 è¡Œã«å‡ºåŠ›ã—ãªã•ã„. テトラブãƒãƒƒã‚¯ã‚’ 1 個ã ã‘除ãã“ã¨ã§ãƒ‘ズルãŒè§£ã‘るよã†ã«ãªã‚‹å ´åˆã¯ Remove ã‚’ 1 è¡Œã«å‡ºåŠ›ã—,続ã‘ã¦é™¤ãã“ã¨ã§ãƒ‘ズルãŒè§£ã‘るよã†ã«ãªã‚‹ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã®ç•ªå·ã‚’å°ã•ã„ã‚‚ã®ã‹ã‚‰é †ã«ãã‚Œãžã‚Œ 1 è¡Œã«å‡ºåŠ›ã—ãªã•ã„. 2 個以上ã®ãƒ†ãƒˆãƒ©ãƒ–ãƒãƒƒã‚¯ã‚’除ã‹ãªã„ã¨ãƒ‘ズルãŒè§£ã‘るよã†ã«ãªã‚‰ãªã„å ´åˆã¯ Invalid ã‚’1è¡Œã«å‡ºåŠ›ã—ãªã•ã„.
3 2 3 2 2 2 1 2 0 1 -1 2 -1 -2 -1 -1 -1 -2 0 6 -1 0 1 0 0 -1 -2 -1 -3 -2 -4 -2 2 -1 2 0 1 -1 4 -2 3 -2 3 -1 1 1 0 1 -1 1 -3 -1 -1 -1 -2 0 5 -1 2 0 2 1 2 -3 1 -2 1 -2 2 -2 0 -2 -1 -3 0 1 -1 0 -1 -1 -1 1 0 2 0 2 -1 4 -2 0 -2 -1 -3 -1 -1 -1 0 -1 1 -1 2 -1 2 0 3 -1 -1 0 0 0 1 0 5 -2 1 3 -1 2 1 -5 2 -5 3 -4 2 -2 -1 0 -1 -3 -1 4 2 5 2 5 3 1 -1 2 -1 -1 -1 0
以下ã®å›³ã¯ãã‚Œãžã‚Œã‚µãƒ³ãƒ—ルã®é…置を示ã—ã¦ã„る.
図 F-4: 1番目ã®ã‚µãƒ³ãƒ—ル
図 F-5: 2番目ã®ã‚µãƒ³ãƒ—ル
図 F-6: 3番目ã®ã‚µãƒ³ãƒ—ル
図 F-7: 4番目ã®ã‚µãƒ³ãƒ—ル
図 F-8: 5番目ã®ã‚µãƒ³ãƒ—ル
Remove 1 Remove 2 6 Valid Remove 1 2 3 4 Invalid