ã‚ãªãŸã¯ JOI æ–°èžç¤¾ã®è¨˜è€…ã§ã‚り,スãƒãƒ¼ãƒ„記事を担当ã—ã¦ã„る.
昨日ã¾ã§ã«ï¼Œã‚¯ãƒã‚¢ãƒã‚¢ã§ã¯ï¼Œn 個ã®ã‚µãƒƒã‚«ãƒ¼ãƒãƒ¼ãƒ ã«ã‚ˆã‚‹ç·å½“ã‚Šã®ãƒªãƒ¼ã‚°æˆ¦ãŒè¡Œã‚ã‚ŒãŸï¼Žå¤§ä¼šå®Ÿè¡Œå§”員会ã¯ï¼Œè©¦åˆçµæžœã¨è¦å®šã«åŸºã¥ãå„ãƒãƒ¼ãƒ ã« 1 ä½ã‹ã‚‰ n ä½ã¾ã§ã®é †ä½ã‚’ã¤ã‘ãŸã‚ˆã†ã§ã‚る.ã‚ãªãŸã«ã¯ï¼Œä¸€éƒ¨ã®è©¦åˆã®å‹æ•—ã¨ã¨ã‚‚ã«ï¼Œæ¬¡ã®æƒ…å ±ãŒä¼ãˆã‚‰ã‚ŒãŸï¼Ž
æƒ…å ± 1 引ã分ã‘ã®è©¦åˆã¯ãªã‹ã£ãŸï¼Ž
æƒ…å ± 2 å…¨ã¦ã®ãƒãƒ¼ãƒ ã«ç•°ãªã‚‹é †ä½ãŒã¤ã„ãŸï¼Ž
æƒ…å ± 3 å…¨ã¦ã® 1 ≤ a < b ≤ n ã«å¯¾ã—,a ä½ã®ãƒãƒ¼ãƒ 㨠b ä½ã®ãƒãƒ¼ãƒ ã®è©¦åˆã«ãŠã„ã¦ï¼Œå¿…ãš a ä½ã®ãƒãƒ¼ãƒ ãŒå‹åˆ©ã—ãŸï¼Ž
ã‚ãªãŸã¯è¨˜äº‹ã‚’作æˆã™ã‚‹ãŸã‚ã«ï¼Œä¸€éƒ¨ã®è©¦åˆã®å‹æ•—ã¨ï¼Œä¼ãˆã‚‰ã‚ŒãŸæƒ…å ± 1 3 ã‚’ã‚‚ã¨ã«ï¼Œé †ä½è¡¨ã‚’推測ã™ã‚‹ã“ã¨ã«ã—ãŸï¼Ž
入力ã¨ã—ã¦ä¸€éƒ¨ã®è©¦åˆã®å‹æ•—ãŒä¸Žãˆã‚‰ã‚ŒãŸã¨ã,ä¼ãˆã‚‰ã‚ŒãŸæƒ…å ±ã«é©åˆã™ã‚‹é †ä½è¡¨ã‚’ 1 ã¤å‡ºåŠ›ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作れ.ã¾ãŸï¼Œå‡ºåŠ›ã—ãŸé †ä½è¡¨ä»¥å¤–ã«ï¼Œä¼ãˆã‚‰ã‚ŒãŸæƒ…å ±ã«é©åˆã™ã‚‹é †ä½è¡¨ãŒå˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ã‚‚判定ã›ã‚ˆï¼Ž
ã“ã“ã§ï¼Œé †ä½è¡¨ã¨ã¯ 1 ä½ã‹ã‚‰ n ä½ã®é †ã«ãƒãƒ¼ãƒ を並ã¹ãŸã‚‚ã®ã®ã“ã¨ã‚’ã„ã†ï¼Ž
ãƒãƒ¼ãƒ æ•°ãŒ4ã§ï¼Œå„ãƒãƒ¼ãƒ ã«1ã‹ã‚‰4ã¾ã§ã®ç•ªå·ãŒä»˜ã‘られã¦ãŠã‚Šï¼Œå‹æ•—ãŒæ¬¡ã®è¡¨ã§ä¸Žãˆã‚‰ã‚Œã¦ã„ãŸã¨ã™ã‚‹ï¼Ž
i è¡Œ j 列ãŒâ—‹ã®ã¨ãã¯ï¼Œç•ªå· i ã®ãƒãƒ¼ãƒ ã¨ç•ªå· j ã®ãƒãƒ¼ãƒ ã®è©¦åˆã«ãŠã„ã¦ï¼Œç•ªå· i ã®ãƒãƒ¼ãƒ ãŒå‹åˆ©ã—ãŸã“ã¨ã‚’æ„味ã™ã‚‹ï¼Žã¾ãŸï¼ŒÃ—ã®ã¨ãã¯ï¼Œç•ªå· j ã®ãƒãƒ¼ãƒ ãŒå‹åˆ©ã—ãŸã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž? ã¯å‹æ•—ãŒä¸Žãˆã‚‰ã‚Œã¦ã„ãªã„ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Žã“ã®ã¨ã,ä¼ãˆã‚‰ã‚ŒãŸæƒ…å ±ã«é©åˆã™ã‚‹é †ä½è¡¨ã¯æ¬¡ã® 1 ã¤ã—ã‹ãªã„
1 ä½ ç•ªå· 3 ã®ãƒãƒ¼ãƒ 2 ä½ ç•ªå· 4 ã®ãƒãƒ¼ãƒ 3 ä½ ç•ªå· 1 ã®ãƒãƒ¼ãƒ 4 ä½ ç•ªå· 2 ã®ãƒãƒ¼ãƒ |
ãƒãƒ¼ãƒ æ•°ãŒ3ã§ï¼Œå„ãƒãƒ¼ãƒ ã«1ã‹ã‚‰3ã¾ã§ã®ç•ªå·ãŒä»˜ã‘られã¦ãŠã‚Šï¼Œå‹æ•—ãŒæ¬¡ã®è¡¨ã§ä¸Žãˆã‚‰ã‚Œã¦ã„ãŸã¨ã™ã‚‹ï¼Ž
ã“ã®ã¨ã,ä¼ãˆã‚‰ã‚ŒãŸæƒ…å ±ã«é©åˆã™ã‚‹é †ä½è¡¨ã¯ï¼Œæ¬¡ã® 2 ã¤ã§ã‚る.
1 ä½ ç•ªå· 2 ã®ãƒãƒ¼ãƒ 2 ä½ ç•ªå· 1 ã®ãƒãƒ¼ãƒ 3 ä½ ç•ªå· 3 ã®ãƒãƒ¼ãƒ |
1 ä½ ç•ªå· 2 ã®ãƒãƒ¼ãƒ 2 ä½ ç•ªå· 3 ã®ãƒãƒ¼ãƒ 3 ä½ ç•ªå· 1 ã®ãƒãƒ¼ãƒ |
入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž
1 行目ã«ã¯ï¼Œã‚µãƒƒã‚«ãƒ¼ãƒãƒ¼ãƒ ã®å€‹æ•° n ãŒæ›¸ã‹ã‚Œã¦ã„る.å„ãƒãƒ¼ãƒ ã«ã¯ï¼Œ1 ã‹ã‚‰ n ã¾ã§ã®ç•ªå·ãŒä»˜ã‘られã¦ã„る.
2 行目ã«ã¯ï¼Œä¸Žãˆã‚‰ã‚ŒãŸè©¦åˆã®å‹æ•—ã®å€‹æ•° m ãŒæ›¸ã‹ã‚Œã¦ã„る.
3 行目ã‹ã‚‰ m + 2 行目ã¯è©¦åˆã®å‹æ•—を表ã™ï¼Žå„è¡Œã¯ç©ºç™½ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ 2 ã¤ã®æ•´æ•° i, j ã‚’å«ã¿ï¼Œç•ªå· i ã®ãƒãƒ¼ãƒ ãŒç•ªå· j ã®ãƒãƒ¼ãƒ ã«å‹åˆ©ã—ãŸã“ã¨ã‚’表ã™ï¼Ž
n, m 㯠1 ≤ n ≤ 5000, 1 ≤ m ≤ 100000 ã‚’ã¿ãŸã™ï¼Ž
採点ã®éš›ã«ç”¨ã„るテストデータã®ã†ã¡ï¼Œ30% 㯠1 ≤ n ≤ 7, 1 ≤ m ≤ 15 ã‚’ã¿ãŸã™ï¼Žã¾ãŸï¼Œ60% 㯠1 ≤ n ≤ 100, 1 ≤ m ≤ 2000 ã‚’ã¿ãŸã™ï¼Ž
出力㯠n + 1 è¡Œã‹ã‚‰ãªã‚‹ï¼Ž
1 行目ã‹ã‚‰ n 行目ã¾ã§ã® n è¡Œã«ã¯ï¼Œä¼ãˆã‚‰ã‚ŒãŸæƒ…å ±ã«é©åˆã™ã‚‹é †ä½è¡¨ã‚’出力ã›ã‚ˆï¼Ž
i 行目 (1 ≤ i ≤ n) ã« i ä½ã®ãƒãƒ¼ãƒ ã®ç•ªå·ã‚’出力ã›ã‚ˆï¼Ž
n + 1 行目ã«ã¯ï¼Œå‡ºåŠ›ã—ãŸé †ä½è¡¨ä»¥å¤–ã«ï¼Œä¼ãˆã‚‰ã‚ŒãŸæƒ…å ±ã«é©åˆã™ã‚‹é †ä½è¡¨ãŒå˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ã‚’表ã™æ•´æ•°ã‚’出力ã›ã‚ˆï¼Žã‚‚ã—å˜åœ¨ã—ãªã‘れ㰠0 を,å˜åœ¨ã™ã‚‹å ´åˆã¯ 1 を出力ã›ã‚ˆï¼Ž
例 1 ã«å¯¾å¿œã™ã‚‹å…¥å‡ºåŠ›ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る.
4 5 1 2 3 1 3 2 3 4 4 1
3 4 1 2 0
例 2 ã«å¯¾å¿œã™ã‚‹å…¥å‡ºåŠ›ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る.
3 2 2 1 2 3
ã“ã®å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ã«å¯¾ã—ã¦ï¼Œæ¬¡ã® 2 通りã®å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ãŒè€ƒãˆã‚‰ã‚Œã‚‹ï¼Žã©ã¡ã‚‰ã‚’出力ã—ã¦ã‚‚よã„.
2 1 3 1
2 3 1 1
上記å•é¡Œæ–‡ã¨è‡ªå‹•å¯©åˆ¤ã«ä½¿ã‚れるデータã¯ã€æƒ…å ±ã‚ªãƒªãƒ³ãƒ”ãƒƒã‚¯æ—¥æœ¬å§”å“¡ä¼šãŒä½œæˆã—公開ã—ã¦ã„ã‚‹å•é¡Œæ–‡ã¨æŽ¡ç‚¹ç”¨ãƒ†ã‚¹ãƒˆãƒ‡ãƒ¼ã‚¿ã§ã™ã€‚