今å·ç„¼ãマンã¯ã€æ£ç¾©ã®ãƒ’ーãƒãƒ¼ã§ã‚る。顔ã¯ç›´å¾„ 1 メートルã®ä»Šå·ç„¼ã(主ã«å°éº¦ç²‰ã§ã§ããŸç”Ÿåœ°ã®ä¸ã«ãŸã£ã·ã‚Šã¨é¤¡ã‚’è©°ã‚ã¦ç„¼ã„ãŸé£Ÿã¹ç‰©ã§ã‚ã‚Šã€è¦‹ãŸç›®ã¯å††å½¢ã§ã‚ã‚Šã€ç¾Žå‘³ã—ã„。北海é“ã§ã¯ã€å˜ã«ã€ŒãŠç„¼ãã€ã¨å‘¼ã°ã‚Œã‚‹ã“ã¨ã‚‚多ã„。餡ã¨ã—ã¦å°è±†é¤¡ã®ã»ã‹ã«ã€ã‚«ã‚¹ã‚¿ãƒ¼ãƒ‰ã‚¯ãƒªãƒ¼ãƒ ãªã©ã‚’用ã„ã‚‹ã“ã¨ã‚‚ã‚ã‚Šã€ã•ã¾ã–ã¾ãªå‘³ã®ãƒãƒªã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ãŒã‚る。ãã®ãŸã‚ã€ã„ãã¤é£Ÿã¹ã¦ã‚‚飽ããªã„。å°è±†é¤¡ã‚„カスタードクリームã®ã»ã‹ã«ã€æŠ¹èŒ¶é¤¡ã‚„ã‚Šã‚“ã”ジャムãªã©ã‚‚美味ã—ã„。ä¸ã«ã‚¿ã‚³ã‚’入れãŸãŸã“焼ãã®ã‚ˆã†ãªã‚‚ã®ã‚‚ã‚るよã†ã 。ã©ã®å‘³ã‚‚美味ã—ã„。下ã®å†™çœŸã¯æ¨™æº–çš„ãªä»Šå·ç„¼ãã§ã‚る。左ã¯ã‚¯ãƒªãƒ¼ãƒ 餡ã€å³ã¯å°è±†é¤¡ãŒå…¥ã£ã¦ã„る。美味ã—ãã†ã§ã‚る。実際ã«é£Ÿã¹ã¦è¦‹ãŸã¨ã“ã‚ã€ã‚„ã¯ã‚Šç¾Žå‘³ã—ã‹ã£ãŸã€‚ã¨ã“ã‚ã§ã€ä»Šå·ç„¼ãã®ç›´å¾„ã¯é€šå¸¸ 10 センãƒãƒ¡ãƒ¼ãƒˆãƒ«ç¨‹åº¦ã§ã‚ã‚‹ã®ã§ã€ç›´å¾„ 1 メートルã®ä»Šå·ç„¼ãã¯ã‹ãªã‚Šå¤§ããªã‚‚ã®ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã•ã‚Œã‚ˆã€‚)ã§ã§ãã¦ãŠã‚Šã€ãŠè…¹ã®ç©ºã„ãŸè€…ã«è‡ªåˆ†ã®é¡”を分ã‘ã¦å·®ã—出ã™ã“ã¨ã‚‚ã‚る。ãã®ãŸã‚ã€å¿…è¦ã«å¿œã˜ã¦é¡”ã‚’å–り替ãˆã‚‹å¿…è¦ãŒã‚る。ã„ã¤ã§ã‚‚å–り替ãˆã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã€ä»Šå·ç„¼ãå·¥å ´ã§ãŠã˜ã•ã‚“ãŒä¸€äººã§ã›ã£ã›ã¨ä¸€ã¤ãšã¤ä»Šå·ç„¼ãを焼ã„ã¦æ—¥ã€…å‚™ãˆã¦ã„る。
ã¨ã“ã‚ã§ã€ä»Šå·ç„¼ãã¯é£Ÿå“ã§ã‚ã‚‹ãŸã‚ã€å½“然ãªãŒã‚‰è³žå‘³æœŸé™ãŒå˜åœ¨ã™ã‚‹ã€‚無駄ã«ã—ãªã„ãŸã‚ã«ã¯ã€ç„¼ã„ã¦ã‹ã‚‰æ™‚é–“ãŒçµŒã£ãŸã‚‚ã®ã‹ã‚‰é †ã«ä½¿ã†ã“ã¨ãŒæœ›ã¾ã—ã„。ãŠã˜ã•ã‚“ã¯ä¸‹å›³ã®ã‚ˆã†ã«ã€å®Œæˆã—ãŸç›´å¾„ 1 メートルã®ä»Šå·ç„¼ã (図ä¸ã®ç‹è‰²éƒ¨) ã‚’å¹… 1 メートルã®ãƒ¬ãƒ¼ãƒ³ (図ä¸ã®ç°è‰²éƒ¨) ã®ä¸Šã«éš™é–“ãªã並ã¹ã¦ä¿å˜ã—ã¦ã„る。
ã‚ã‚‹æ—¥ã€å¤§æ‚ªå…šã®èƒŒç‹ãƒžãƒ³ãŒå·¥å ´ã«ç¾ã‚Œã€ä»Šå·ç„¼ãマンを困らã›ã‚ˆã†ã¨ã€è‡ªæ…¢ã®èƒŒç‹åŠ›ã‚’使ã£ã¦å·¨å¤§ãªä»Šå·ç„¼ãã‚’ã›ã£ã›ã¨é‹ã³ã€å¥½ãå‹æ‰‹ã«ä¸¦ã³æ›¿ãˆã¦ã—ã¾ã£ãŸã€‚背ç‹ãƒžãƒ³ã¯èƒŒç‹åŠ›ã ã‘ã§ãªã記憶力も良ã„ã®ã§ã€ã©ã®ä»Šå·ç„¼ããŒå…ƒã€…何番目ã«ã‚ã£ãŸã®ã‹è¦šãˆã¦ã„るよã†ã ã€‚è² ã‘ã‚’èªã‚ãŸããªã„今å·ç„¼ãマンã¯ã€ä½•ã¨ã‹ã—ã¦ã€ãã‚Œãžã‚Œã®ä»Šå·ç„¼ããŒä½•ç•ªç›®ã«å‡ºæ¥ãŸã¦ãªã®ã‹çŸ¥ã‚ŠãŸã„ãŒã€è¦‹ãŸç›®ã§ã¯åˆ†ã‹ã‚Šãã†ã«ãªã„。ãã“ã§ã€èƒŒç‹ãƒžãƒ³ã«ã€Œã‚‚ã¡ã‚ã‚“ã€åƒ•ã¯ã¡ã‚ƒã‚“ã¨è¦šãˆã¦ã„るよ。ã§ã‚‚ã€èƒŒç‹ãƒžãƒ³ã¯æœ¬å½“ã«ã¡ã‚ƒã‚“ã¨è¦šãˆã¦ã„ã‚‹ã®ã‹ãªï¼Ÿï¼Ÿã€ã¨æŒ‘発ã—ã€ã•ã‚‰ã«ã€Œæœ¬å½“ã«è¦šãˆã¦ã„ã‚‹ã‹åƒ•ãŒãƒ†ã‚¹ãƒˆã™ã‚‹ã‚ˆï¼ã€ã¨è¨€ã£ã¦è³ªå•ã‚’ç¹°ã‚Šè¿”ã™ã“ã¨ã§ã€ä½•ç•ªç›®ã«å‡ºæ¥ãŸã¦ãªã®ã‹çŸ¥ã‚‹ã“ã¨ã«ã—ãŸã€‚ãŸã ã—ã€ã‚ã¾ã‚Šè³ªå•ã—ã™ãŽã‚‹ã¨ã€æŽ¢ã£ã¦ã„ã‚‹ã“ã¨ã‚’勘付ã‹ã‚Œã¦ã—ã¾ã†ã®ã§ã€ã»ã©ã»ã©ã«ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„。ã‚ãªãŸã«ã¯ã€ä»Šå·ç„¼ãマンを助ã‘ã‚‹ãŸã‚ã€è³ªå•ã‚’ç¹°ã‚Šè¿”ã—生æˆã—ã€ãã‚Œãžã‚Œã®ä»Šå·ç„¼ããŒä½•ç•ªç›®ã«å‡ºæ¥ãŸã¦ãªã®ã‹ã‚’当ã¦ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã—ã¦ã»ã—ã„。
ã¾ãšã€å·¥å ´ã«ä¸¦ã‚“ã§ã„る今å·ç„¼ãã®å€‹æ•° N (1 \leq N \leq 10,000) ãŒæ¨™æº–入力ã«ã‚ˆã‚Š1è¡Œã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ã“れらã®ä»Šå·ç„¼ãã®è£½é€ 日時ã¯äº’ã„ã«ç•°ãªã‚‹ã€‚ã¤ã¾ã‚Šã€ 1 \leq i \leq N を満ãŸã™ä»»æ„ã®æ•´æ•° i ã«ã¤ã„ã¦ã€ i 番目ã«å‡ºæ¥ãŸã¦ã®ä»Šå·ç„¼ãã¯ãŸã ã²ã¨ã¤å˜åœ¨ã™ã‚‹ã€‚
ã“れ以é™ã€ä»»æ„ã®2æ•´æ•° a, b (1 \leq a, b \leq N) ã«ãŠã„ã¦ã€æ¨™æº–出力ã«
? a b
ã¨å‡ºåŠ›ã™ã‚‹ã¨ã€ã€Œa 番目ã«å‡ºæ¥ãŸã¦ã®ä»Šå·ç„¼ãã®ä¸å¿ƒã‹ã‚‰ b 番目ã«å‡ºæ¥ãŸã¦ã®ä»Šå·ç„¼ãã®ä¸å¿ƒã¾ã§ã®è·é›¢ã¯ä½•ãƒ¡ãƒ¼ãƒˆãƒ«ã‹ï¼Ÿã€ã¨ã„ã†è³ªå•ã‚’è¡Œã†ã“ã¨ãŒã§ãる。ã“ã®ç”ãˆã¯æ¨™æº–入力ã«ä¸€è¡Œã§æ•´æ•°ã¨ã—ã¦ã™ãã«ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚物語ã§ã‚‚è¿°ã¹ãŸé€šã‚Šã€ãƒ¬ãƒ¼ãƒ³ä¸Šã«éš™é–“ãªã直径 1 メートルã®ä»Šå·ç„¼ããŒä¸¦ã¹ã‚‰ã‚Œã¦ã„ã‚‹ã®ã§ã€å·¦ã‹ã‚‰æ•°ãˆã¦ i 番目ã®ä»Šå·ç„¼ãã®ä¸å¿ƒã‹ã‚‰ j 番目ã®ä»Šå·ç„¼ãã®ä¸å¿ƒã¾ã§ã®è·é›¢ã¯æ£ç¢ºã« |i - j| メートルã§ã‚る。ã“ã®è³ªå•ã¯ 20,000 回ã¾ã§ç¹°ã‚Šè¿”ã—è¡Œã†ã“ã¨ãŒã§ãる。
ãã‚Œãžã‚Œã®ä»Šå·ç„¼ããŒä½•ç•ªç›®ã«å‡ºæ¥ãŸã¦ãªã®ã‹åˆ†ã‹ã£ãŸã‚‰ã€æ¨™æº–出力ã«æœ€çµ‚çš„ãªç”ãˆã‚’出力ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„。出力形å¼ã¯ã€å„ i ( 1 \leq i \leq N) ã«ãŠã„ã¦ã€å·¦ã‹ã‚‰ i 番目 ã®ä»Šå·ç„¼ã㌠x_i 番目ã«å‡ºæ¥ãŸã¦ã®ã¨ãã€
! x_1 x_2 x_3 ... x_N
ã¾ãŸã¯ã€
! x_N x_{N-1} x_{N-2} ... x_1
ã¨ã™ã‚Œã°ã‚ˆã„。ã¤ã¾ã‚Šã€å·¦ã‹ã‚‰é †ã«ç”ãˆã¦ã‚‚ã€å³ã‹ã‚‰é †ã«ç”ãˆã¦ã‚‚構ã‚ãªã„。ã“ã®æœ€çµ‚çš„ãªè§£ç”ã¯ã€1度ã—ã‹è¡Œã†ã“ã¨ãŒã§ããªã„。ã“ã®è§£ç”ãŒæ£ã—ã„出力ã ã£ãŸã¨ãã€æ£ç”ã¨ã¿ãªã™ã€‚
標準出力を行ã†æ¯Žã«ã€ã‚¹ãƒˆãƒªãƒ¼ãƒ をフラッシュ (flush) ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã•ã‚Œã‚ˆã€‚主è¦ãªè¨€èªžã§ã®ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ä¾‹ã‚’以下ã«ç¤ºã™ã€‚ã‚‚ã¡ã‚ã‚“ã€ã“れ以外ã®æ–¹æ³•ã§ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã‚’è¡Œã£ã¦ã‚‚構ã‚ãªã„。
C 言語:
#include <stdio.h> fflush(stdout);
C++:
#include <iostream> std::cout.flush();
Java:
System.out.flush();
標準入力 | 標準出力 |
---|---|
3 | |
? 1 2 | |
2 | |
? 2 3 | |
1 | |
? 1 3 | |
1 | |
! 2 3 1 |