å¤ä»£éºè·¡ã‹ã‚‰è¶…大型ã‚ã¿ã ãã˜ãŒç™ºè¦‹ã•ã‚ŒãŸã€‚å¦è€…é”ã¯ã“れをVLA(Very Long Amidakuji)ã¨å‘½åã—ãŸã€‚分æžã®çµæžœã€VLA㯠N 本ã®ç¸¦æ£’ã‚’æŒã¤ã„ãã¤ã‹ã®éƒ¨å“ã®çµ„ã¿åˆã‚ã›ã§æ§‹æˆã•ã‚Œã€å¤šãã®å ´åˆç¹°ã‚Šè¿”ã—ã‚’å«ã‚“ã§ã„ã‚‹ã“ã¨ãŒã‚ã‹ã£ãŸã€‚例ãˆã°ã€å›³ã®VLAã¯ï¼’種類ã®éƒ¨å“Aã¨Bを使ã£ãŸï¼”ã¤ã®éƒ¨å“ã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„る。
ã“ã®VLAã®ä¸Šç«¯ã«å·¦ã‹ã‚‰é †ç•ªã« 1,2,3,4,5 ã¨ç•ªå·ã‚’ã¤ã‘ã€ãã‚Œãžã‚Œã®ç•ªå·ã‹ã‚‰VLAã‚’ãŸã©ã‚Šï¼ˆã‚ã¿ã ãã˜ã®ãŸã©ã‚Šæ–¹ã«ã¤ã„ã¦ã¯å•é¡Œæ–‡æœ€å¾Œã®è£œè¶³ã‚’å‚ç…§ã—ã¦ãã ã•ã„)ã€ä¸‹ç«¯ã«ãŸã©ã‚Šç€ã„ãŸå ´æ‰€ã®ç¸¦æ£’ã«ãã®ç•ªå·ã‚’振る。ã™ã¹ã¦ã®ç•ªå·ã«ã¤ã„ã¦ãŸã©ã‚Šçµ‚ãˆãŸå¾Œã§ã€ä¸‹ç«¯ã«æŒ¯ã‚‰ã‚ŒãŸç•ªå·ã‚’å·¦ã‹ã‚‰èªã‚€ã¨ 4,2,5,1,3 ã«ãªã‚‹ã€‚ã“ã®ã‚ˆã†ã«ã€1,2,3,4,5 ã¨ã„ã†ç•ªå·ã®åˆ—㌠4,2,5,1,3 ã¨ã„ã†åˆ—ã«å¤‰æ›ã•ã‚Œã‚‹ã€‚
彼らã¯VLAã«ã‚ˆã£ã¦ 1 ã‹ã‚‰ N ã¾ã§ã®ç•ªå·ã®åˆ—ãŒã©ã®ã‚ˆã†ã«å¤‰æ›ã•ã‚Œã‚‹ã®ã‹ã‚’知りãŸã„ãŒã€æ‰‹ä½œæ¥ã§ãŸã©ã‚‹ã®ã¯å¤§å¤‰ãã†ã 。ãã“ã§ãƒ‘ソコン甲ååœ’å‡ºå ´è€…ã§ã‚る優秀ãªãƒ—ãƒã‚°ãƒ©ãƒžãƒ¼ã®å›ãŸã¡ã«ã€VLAã®ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ä¾é ¼ã—ãŸã€‚
VLAã¯ã¨ã¦ã‚‚é•·ã„ãŸã‚ã€ãã®ã¾ã¾ã®çŠ¶æ…‹ã§ã¯ãƒ—ãƒã‚°ãƒ©ãƒžãƒ¼ãŸã¡ã«æƒ…å ±ã‚’ä¼ãˆã‚‹ã“ã¨ãŒã§ããªã„。ãã“ã§å¦è€…ãŸã¡ã¯ã€éƒ¨å“ã®ç¨®é¡žã‚’英大文å—1ã¤ã§è¡¨ã—ã€VLAã‚’å¼ã§è¡¨ç¾ã™ã‚‹ã“ã¨ã«ã—ãŸã€‚
部å“ã¯åŒã˜ä½ç½®é–¢ä¿‚ã§ã‚る縦棒ãŒä¸€è‡´ã™ã‚‹ã‚ˆã†ã«ã€å·¦ã‹ã‚‰é †ç•ªã« + 演算åã§æŽ¥ç¶šã•ã‚Œã‚‹ã€‚ãŸã¨ãˆã°ã€ä¸Šã‹ã‚‰A,B,C,D ã¨ã„ã†é †ç•ªã§é€£çµã•ã‚ŒãŸéƒ¨å“ã®åˆ—㯠A+B+C+D ã¨ã„ã†å¼ã§è¡¨è¨˜ã•ã‚Œã‚‹ã€‚
部å“ã®åˆ—を表ã™å¼ seq ã® m 回ã®ç¹°ã‚Šè¿”ã—ã¯ã€m(seq) ã¨è¡¨è¨˜ã§ãる。ãŸã¨ãˆã°ã€A+B ã®2回ã®ç¹°ã‚Šè¿”ã—㯠2(A+B) ã¨è¡¨ã›ã€ã“れ㯠A+B+A+B ã¨åŒã˜ã§ã‚る。ã¾ãŸã€seq ãŒï¼‘ã¤ã®éƒ¨å“ a ã®å ´åˆã¯ã€a を囲むã‹ã£ã“ã‚’çœç•¥ã—ã¦ã‚‚構ã‚ãªã„。4(A+B) 㨠3(X+Y) ã‚’ã€ã“ã®é †ç•ªã§é€£çµã—ãŸVLA㯠4(A+B)+3(X+Y) ã¨è¡¨ã›ã‚‹ã€‚ã¾ãŸã€ã‹ã£ã“㯠2(4(A+B)+3(X+Y))+10C ã®ã‚ˆã†ã«å…¥ã‚Œåã«ã—ã¦ã‚‚構ã‚ãªã„。
ãã‚Œã§ã¯ã€ç¸¦æ£’ã®æ•° Nã€å„部å“ã®æƒ…å ±ã€è¤‡æ•°ã®VLAã®å¼ã‚’入力ã¨ã—ã€å„å¼ãŒè¡¨ã™VLAã«ã‚ˆã£ã¦1ã‹ã‚‰ N ã¾ã§ã®ç•ªå·ã®åˆ—ãŒã©ã®ã‚ˆã†ã«å¤‰æ›ã•ã‚Œã‚‹ã‹ã‚’出力ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã—ãªã•ã„。
(※補足:ã‚ã¿ã ãã˜ã®ãŸã©ã‚Šæ–¹ã«ã¤ã„ã¦ï¼‰
ã‚ã¿ã ãã˜ã®ã‚る縦棒ã®ä¸Šç«¯ã‹ã‚‰å‡ºç™ºã—ã¦ä¸Šã‹ã‚‰ä¸‹ã¸é€²ã‚€ã€‚ãŸã ã—ã€æ¨ªæ£’ãŒã‚る地点ã§ã¯ãã®æ¨ªæ£’ã§ã¤ãªãŒã£ãŸåˆ¥ã®ç¸¦æ£’ã«ç§»å‹•ã™ã‚‹ã€‚ã“れをã€ç¸¦æ£’ã®ä¸‹ç«¯ã«ãŸã©ã‚Šç€ãã¾ã§ç¹°ã‚Šè¿”ã™ã€‚
入力ã¯ï¼‘ã¤ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰ãªã‚‹ã€‚入力データã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
N K p1 h1 g1(1,1) g1(1,2) .. g1(1,N-1) g1(2,1) g1(2,2) .. g1(2,N-1) : g1(h1-1,1) g1(h1-1,2) .. g1(h1-1,N-1) p2 h2 g2(1,1) g2(1,2) .. g2(1,N-1) g2(2,1) g2(2,2) .. g2(2,N-1) : g2(h2-1,1) g2(h2-1,2) .. g2(h2-1,N-1) : pK hK gK(1,1) gK(1,2) .. gK(1,N-1) gK(2,1) gK(2,2) .. gK(2,N-1) : gK(hK-1,1) gK(hK-1,2) .. gK(hK-1,N-1) E expression1 expression2 : expressionE
1行目ã«ç¸¦æ£’ã®æ•°ã‚’表ã™æ•´æ•° N (2 ≤ N ≤ 12) ã¨éƒ¨å“ã®ç¨®é¡žã®æ•° K (1 ≤ K ≤ 26)ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
2行目以é™ã« K 種類ã®éƒ¨å“ã®æƒ…å ±ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚å„部å“ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
続ã1行ã«å¼ã®æ•° E (1 ≤ E ≤ 100) ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚続ã E è¡Œã«VLAã®å¼ã‚’表ã™æ–‡å—列 expressioni(1æ–‡å—以上1000æ–‡å—以下)ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
入力ã¯ä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™ã€‚
å¼ã”ã¨ã«ã€VLAã«ã‚ˆã‚‹1ã‹ã‚‰Nã¾ã§ã®åˆ—ã®å¤‰æ›çµæžœã‚’1行ã«å‡ºåŠ›ã™ã‚‹ã€‚ãã‚Œãžã‚Œã®æ•°å—ã®é–“ã¯ç©ºç™½1ã¤ã§åŒºåˆ‡ã‚‹ã€‚
5 2 A 5 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 B 4 1 0 0 1 0 1 0 0 0 0 1 0 2 2(A+B) 1000000000(1000000000A+1000000000B)
4 2 5 1 3 1 2 3 4 5