人里離れãŸæ£®ã®å¥¥æ·±ãã«ã€ãƒžãƒªãƒ¼ã¨ã„ã†åã®é”女ãŒä½ã‚“ã§ã„ã¾ã—ãŸã€‚彼女ã¯é”女ãªã®ã§ã€é£Ÿæ–™ãƒ»æ°´ãƒ»ç‡ƒæ–™ãªã©ã€ç”Ÿæ´»ã«å¿…è¦ãªã‚‚ã®ã‚’é”法ã«ã‚ˆã£ã¦ã¾ã‹ãªã£ã¦ã„ã¾ã™ã€‚
彼女ã®é”法ã¯ã€é”力を込ã‚ãŸã„ãã¤ã‹ã®çŸ³ã¨ç´ã‚’使ã£ã¦ã€é”法陣をæãã“ã¨ã«ã‚ˆã£ã¦ç™ºå‹•ã—ã¾ã™ã€‚ã“ã®é”法陣ã¯ã€çŸ³ã‚’è¨ç½®ã—ã€ã„ãã¤ã‹ã®çŸ³ã®ãƒšã‚¢ã‚’ç´ã§ç¹‹ãã“ã¨ã§æã‹ã‚Œã¾ã™ã€‚ãŸã ã—ã€ç´ã¯å¼›ã‚“ã§ã„ã¦ã¯ã„ã‘ã¾ã›ã‚“。ã•ã‚‰ã«ã€ã©ã®ç´ã‚‚ã€(両端を除ã„ã¦) ä»–ã®ç´ã‚„石ã«è§¦ã‚Œã¦ã¯ã„ã‘ã¾ã›ã‚“。もã¡ã‚ã‚“ã€åŒã˜å ´æ‰€ã«è¤‡æ•°ã®çŸ³ã‚’ç½®ãã“ã¨ã‚‚ã§ãã¾ã›ã‚“。ã“ã®åˆ¶ç´„ãŒå®ˆã‚‰ã‚Œã‚‹é™ã‚Šã€çŸ³ã¨çŸ³ã®ä½ç½®é–¢ä¿‚ã‚„ç´ã®é•·ã•ã«åˆ¶é™ã¯ã‚ã‚Šã¾ã›ã‚“。ã¾ãŸã€çŸ³ã¯å分å°ã•ã„ã®ã§ç‚¹ã¨ã—ã¦æ‰±ã†ã“ã¨ãŒã§ãã€ç´ã¯å分細ã„ã®ã§ç·šåˆ†ã¨ã—ã¦æ‰±ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ã•ã‚‰ã«ã€å½¼å¥³ã¯åŒã˜çŸ³ã®ãƒšã‚¢ã‚’2本以上ã®ç´ã§ç¹‹ãã“ã¨ã‚‚ã€ã‚ã‚‹ç´ã®ä¸¡ç«¯ã‚’åŒã˜çŸ³ã«çµã¶ã“ã¨ã‚‚ã‚ã‚Šã¾ã›ã‚“。
マリーã¯åˆã‚ã€çŸ³ã‚’彼女ã®å®¶ã®å¹³ã‚‰ãªå£ã«è²¼ã‚Šä»˜ã‘ã¦é”法陣をæã„ã¦ã„ã¾ã—ãŸã€‚ã—ã‹ã—ã€å½¼å¥³ã¯ã‚„ãŒã¦ã€ã©ã†ã—ã¦ã‚‚作るã“ã¨ã®ã§ããªã„é”法陣ãŒã‚ã‚‹ã“ã¨ã«æ°—付ã„ãŸã®ã§ã™ã€‚ã—ã°ã‚‰ãã—ã¦ã€å½¼å¥³ã¯é”法陣を平らãªå£ã€ã¤ã¾ã‚ŠäºŒæ¬¡å…ƒå¹³é¢ã®ä¸Šã§ä½œã‚‹ã“ã¨ãŒã§ãã‚‹ã‹åˆ¤å®šã™ã‚‹æ–¹æ³•ã‚’ç·¨ã¿å‡ºã—ã¾ã—ãŸã€‚ã‚ã‚‹é”法陣ã¯ã€æ¬¡ã®ã‚ˆã†ãªéƒ¨åˆ†ã‚’å«ã‚€å ´åˆã€ã¾ãŸãã®å ´åˆã«é™ã£ã¦ã€äºŒæ¬¡å…ƒå¹³é¢ä¸Šã§ä½œã‚‹ã“ã¨ãŒã§ããªã„ã®ã§ã™ã€‚
|
|
|
図1 é ‚ç‚¹æ•° 5 ã®å®Œå…¨ã‚°ãƒ©ãƒ• |
図2 é ‚ç‚¹æ•° 3, 3 ã®å®Œå…¨äºŒéƒ¨ã‚°ãƒ©ãƒ• |
ã“ã®ã‚ˆã†ãªé”法陣をæããŸã‚ã«ã€å½¼å¥³ã¯çŸ³ã‚’空ä¸ã«å›ºå®šã™ã‚‹é”法を編ã¿å‡ºã—ã¾ã—ãŸã€‚三次元空間ã§ã¯ã€ã“れらã®é”法陣もæãã“ã¨ãŒã§ãã‚‹ã®ã§ã™ã€‚ãã‚Œã©ã“ã‚ã‹ã€ã©ã‚“ãªé”法陣も三次元空間ä¸ã§ã¯æãã“ã¨ãŒã§ãã‚‹ã“ã¨ã‚’彼女ã¯çªãæ¢ã‚ãŸã®ã§ã™ã€‚
ã•ã¦ã€ã“ã“ã‹ã‚‰ãŒå•é¡Œã§ã™ã€‚ã‚る日マリーã¯ã€å½¼å¥³ã®å®¶ã®çŽ„é–¢ã«è¶³å…ƒç¯ã®é”法陣を作るã“ã¨ã«ã—ã¾ã—ãŸã€‚ã—ã‹ã—ã€å½¼å¥³ã¯æ—¢ã«ç‹ã„玄関ã«ã„ã‚ã„ã‚ãªé”法陣をè¨ç½®ã—ã¦ã„ãŸã®ã§ã€è¶³å…ƒç¯ã®é”法陣をã€æ®‹ã•ã‚ŒãŸå”¯ä¸€ã®ã‚¹ãƒšãƒ¼ã‚¹ã§ã‚る一次元ã®ç›´ç·šã®ä¸Šã«æã‹ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。彼女ãŒè¨è¨ˆã—ãŸã„ãã¤ã‹ã®è¶³å…ƒç¯ã®é”法陣ã«ã¤ã„ã¦ã€ãã‚ŒãŒç›´ç·šã®ä¸Šã«æã‘ã‚‹ã‹ã©ã†ã‹ã‚’判定ã—ã€æã‘ã‚‹å ´åˆ yes ã¨ã€ãã†ã§ãªã„å ´åˆ no ã¨å‡ºåŠ›ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã—ã¦ä¸‹ã•ã„。
é”法陣ã¯ã€çŸ³ã®å€‹æ•° nã€ç´ã®æœ¬æ•° mã€m 個ã®ç´ã®æƒ…å ±ã§ä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚ç´ã¯ã€ãã®ä¸¡ç«¯ã®çŸ³ã®ç•ªå· uã€v ã§è¡¨ã•ã‚Œã¾ã™ã€‚石ã«ã¯ 1 ã‹ã‚‰ n ã¾ã§ã®ç•ªå·ãŒä¸Žãˆã‚‰ã‚Œã€n 㯠1 以上 100,000 以下ã€m 㯠0 以上 1,000,000 以下ã¨ã—ã¾ã™ã€‚
複数ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã®ä¸¦ã³ãŒå…¥åŠ›ã¨ã—ã¦ä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚入力ã®çµ‚ã‚ã‚Šã¯ã‚¼ãƒãµãŸã¤ã®è¡Œã§ç¤ºã•ã‚Œã¾ã™ã€‚å„データセットã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚
1 行目 石ã®å€‹æ•° n ç´ã®æœ¬æ•° m(整数 æ•´æ•°ï¼›åŠè§’空白区切り)
2 行目 第1ã®ç´ã®æƒ…å ± u v(整数 æ•´æ•°ï¼›åŠè§’空白区切り)
3 行目 第2ã®ç´ã®æƒ…å ±
:
m+1 行目 第 m ã®ç´ã®æƒ…å ±
データセットã®æ•°ã¯ 20 を超ãˆã¾ã›ã‚“。
入力データセットã”ã¨ã«ã€yes ã¾ãŸã¯ no ã¨ï¼‘è¡Œã«å‡ºåŠ›ã—ã¾ã™ã€‚
5 4 1 2 2 3 3 4 4 5 4 6 1 2 1 3 1 4 2 3 2 4 3 4 5 0 0 0
yes no yes