çµç¶æ¹–ã®æ¹–底ã‹ã‚‰å¤‰ã‚ã£ãŸå½¢ã®æ°´æ™‚計ã®ã‚ˆã†ãªã‚‚ã®ãŒç™ºè¦‹ã•ã‚ŒãŸã€‚
水時計ã¯æ°´å¹³ãªåºƒã„å¹³é¢ä¸Šã«ç½®ã‹ã‚Œã€ï¼‘ã¤ä»¥ä¸Šã®ä¸€è¾ºãŒ30cmã®ç«‹æ–¹ä½“ã®æ°´æ§½ã§æ§‹æˆã•ã‚Œã¦ã„る。 水槽ã¯æ ¼å状ã«ä¸¦ã¹ã‚‰ã‚ŒãŸæ§˜ã€…ãªé«˜ã•ã®å°ã®ä¸Šã«ç½®ã‹ã‚Œã¦ã„る。水槽ã®åŽšã¿ã¯ç„¡è¦–ã§ãる。 åŒã˜é«˜ã•ã®å°ã®ä¸Šã«ç½®ã‹ã‚ŒãŸæ°´æ§½ãŒå‰å¾Œå·¦å³ã«éš£æŽ¥ã—ã¦ã„ãŸã¨ãã€ãれらã®æ°´æ§½ã®é–“ã«ã¯ç©´ãŒã‚ã‘られã€æ°´ã®é«˜ã•ãŒç‰ã—ãä¿ãŸã‚Œã‚‹ä»•çµ„ã¿ã«ãªã£ã¦ã„る。(図1)
|
|
一緒ã«ç™ºè¦‹ã•ã‚ŒãŸæ–‡çŒ®ã«ã‚ˆã‚‹ã¨ã€ã‚る水槽ã«æ°´ã‚’継続的ã«æ³¨ãŽã€ä»–ã®ç‰¹å®šã®æ°´æ§½ã®æ°´ä½ã‚’調ã¹ã¦ã„ãŸã‚‰ã—ã„。
図2ã®ã‚ˆã†ã«ã‚る水槽ã«æ°´ã‚’注ãŽã€æ°´ãŒã‚ãµã‚ŒãŸã¨ãã€ã‚ãµã‚ŒãŸæ°´ã¯ãã®æ°´æ§½ã«éš£æŽ¥ã—ã¦ã„ã‚‹æ–¹å‘ã«ç‰ã—ã„é‡æµã‚Œè¾¼ã‚€ã€‚水槽ãŒãªã„å ´æ‰€ã«æ°´ãŒæµã‚ŒãŸå ´åˆã€æ°´æ™‚計ã®å¤–ã«è‡ªå‹•çš„ã«æŽ’æ°´ã•ã‚Œã‚‹ã€‚ ã¾ãŸæ°´ãŒã‚ãµã‚Œã‚‹æ–¹å‘ãŒãªãã¨ã‚‚ã€æ°´æ§½ã®å®¹é‡ã‚ˆã‚Šå¤šã„æ°´ãŒæ ¼å内ã«ã¨ã©ã¾ã‚‹ã“ã¨ã¯ãªã„。ãã®ã‚ˆã†ãªå ´åˆã€æ°´æ§½ã®å®¹é‡ã‚’超ãˆãŸåˆ†ã®æ°´ã¯ä¸æ€è°ãªåŠ›ã§æ¶ˆæ»…ã™ã‚‹ã€‚ 隣接ã—ã¦ã„る水槽ãŒã€ã‚‚ã¨ã®æ°´æ§½ã‚ˆã‚Šå°‘ã—ã§ã‚‚高ã„å°ã«ç½®ã‹ã‚Œã¦ã„ãŸã¨ãã€ãã®æ–¹å‘ã«æ°´ã¯æµã‚Œãªã„ã®ã§æ³¨æ„ã™ã‚‹ã“ã¨ã€‚ 例ãˆã°å›³3ã®å ´åˆã€ä¸å¤®ã®æ°´æ§½ã‹ã‚‰å·¦å³ã¨å¥¥ã®æ°´æ§½ã«ãã‚Œãžã‚Œã‚ãµã‚ŒãŸé‡ã®1/4ãšã¤ã®æ°´ãŒæµã‚Œè¾¼ã‚€ã€‚
|
|
|
|
ã‚ãªãŸã®ä»•äº‹ã¯ã“ã®æ°´æ™‚計をシミュレートã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を書ã事ã§ã‚る。
入力ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰ãªã‚‹ã€‚ データセットã®å€‹æ•°ã¯ã€300以下ã§ã€ãã‚Œãžã‚ŒãŒä»¥ä¸‹ã®å½¢å¼ã§ã‚る。
w h fx fy fq p0,0 p0,1 ... p0,w-1 p1,0 p1,1 ... p1,w-1 ... ph-1,0 ph-1,1 ... ph-1,w-1 l t1 x1 y1 ... tl xl yl
wã€hã¯ã€ãã‚Œãžã‚Œæ ¼åã®åˆ—ãŠã‚ˆã³è¡Œã®æ•°ã‚’表ã™æ£ã®æ•´æ•°ã§ã‚ã‚Šã€ãã‚Œãžã‚Œ1 ≤ w ≤ 10ã€1 ≤ h ≤ 10を満ãŸã™ã€‚ fxã€fyã€fqã¯æ°´ã‚’æµã™æ°´æ§½ãŒç½®ã„ã¦ã„ã‚‹æ ¼åã®å ´æ‰€(fxã€fy)ã¨æµé‡(fq)を表ã™ã€‚æµé‡ã®å˜ä½ã¯cm^3ã§ã‚る。 ã“れらã¯0 ≤ fx < wã€0 ≤ fy < hã€1 ≤ fq ≤ 30000を満ãŸã™ã€‚ 続ãhè¡Œã¯ãã‚Œãžã‚Œã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸw個ã®æ•°å—ã‹ã‚‰æ§‹æˆã•ã‚Œã¦ãŠã‚Šã€ æ ¼å{i,j}ã«ç½®ã‘る水槽ã®ç½®ã‹ã‚ŒãŸå°ã®é«˜ã•ã‚’表ã™ã€‚ å˜ä½ã¯cmã§ã‚ã‚Šã€0 ≤ pi,j ≤ 1000を満ãŸã™æ•´æ•°ã§ã‚る。 pi,j=0ã®ã¨ãã€ãã®å ´æ‰€ã«ã¯æ°´æ§½ã¯ç½®ã‹ã‚Œã¦ã„ãªã„。 次ã®ä¸€è¡Œã¯æ°´æ§½ã®æ°´ã®é«˜ã•ã®æ¸¬å®šå›žæ•°ã‚’表ã™æ£ã®æ•´æ•°lã‹ã‚‰ãªã‚‹ã€‚ ã“ã‚Œã¯1 ≤ l ≤ 10を満ãŸã™ã€‚ 続ãlè¡Œã¯ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸtkã€xkã€ykã®3ã¤ã®æ•´æ•°å€¤ã‚’å«ã‚“ã§ã„る。 tkã¯æ¸¬å®šæ™‚間を表ã—ã€xkã€ykã¯æ¸¬å®šå ´æ‰€ã®æ ¼åを示ã™ã€‚ xkã€ykã¯å¿…ãšæ°´æ§½ã®ã‚ã‚‹æ ¼åを示ã™ã¨ä»®å®šã—ã¦ã‚ˆã„。 ã¾ãŸã€0 ≤ t ≤ 10000を満ãŸã™ã€‚
入力ã®çµ‚ã‚ã‚Šã¯ãµãŸã¤ã®ã‚¼ãƒã‚’å«ã‚€è¡Œã§è¡¨ã•ã‚Œã‚‹ã€‚
å„データセットã«å¯¾ã—ã€æ•´æ•°ã‚’l個出力ã™ã‚‹ã€‚ ãã®æ•´æ•°ã¯æŒ‡å®šã•ã‚ŒãŸæ™‚é–“tkã«ãŠã‘ã‚‹ æ ¼åxkã€yk上ã«ã‚る水槽ã®æ°´ã®é«˜ã•ã‚’出力ã™ã‚‹ã“ã¨ã€‚ ãªãŠã€æ°´ã®é«˜ã•ã®å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã¨ã™ã‚‹ã€‚
3 3 1 1 900 0 10 0 10 45 10 10 0 0 3 5 1 1 50 1 0 100 0 1 5 5 2 0 9000 0 0 4 0 0 0 3 3 3 0 2 2 2 2 2 0 0 1 0 0 0 0 1 0 0 4 5 2 0 10 2 1 100 2 2 250 2 3 0 0
5 5 8 30 5 13 4