E: ãŸã„焼ãマスターã¨é£Ÿã¹ç››ã‚Š - Taiyaki-Master and Eater
物語
ã¤ãŸã•ã‚“ã¯ãŸã„焼ãを作るã®ãŒã¨ã¦ã‚‚上手ã„。ãˆã³ã¡ã‚ƒã‚“ã¯ãã‚“ãªã¤ãŸã•ã‚“ãŒä½œã‚‹ãŸã„焼ããŒå¤§å¥½ãã 。 2 人ã¯æ¯Žé€±ãŸã„焼ãを作ã£ã¦é£Ÿã¹ã¦å¹¸ã›ã«éŽã”ã—ã¦ã„ã‚‹ãŒã€ãŸã„焼ãを作ã£ã¦ã„ã‚‹ãã°ã§é£Ÿã¹ç››ã‚Šã®ãˆã³ã¡ã‚ƒã‚“ã«ã¤ã¾ã¿é£Ÿã„ã‚’ã•ã‚Œã¦ã—ã¾ã†ã®ãŒã¤ãŸã•ã‚“ã®æœ€è¿‘ã®æ‚©ã¿ã 。
å¦æ ¡ç¥ã§ãŸã„焼ãを作るã“ã¨ã«ãªã£ãŸã¤ãŸã•ã‚“ã¯ã€ã„ã¤ã‚‚ã®ã‚ˆã†ã«ãˆã³ã¡ã‚ƒã‚“ã«ã¤ã¾ã¿é£Ÿã„ã•ã‚Œã¦ã„ãŸã‚‰å£²ä¸ŠãŒå¿ƒé…ãªã®ã§ã€è‡ªåˆ†ãŒæ³¨ç›®ã—ã¦ã„る範囲ã®ãŸã„焼ãã®æ§˜åを知るã“ã¨ãŒã§ãã‚Œã°ã„ã„ãªã¨æ€ã£ãŸã€‚å¦æ ¡ç¥ãŒæˆåŠŸã™ã‚‹ã‚ˆã†ã«ã€ã¤ãŸã•ã‚“を助ã‘ã¦ã‚ã’よã†ã€‚
å•é¡Œ
縦 Hã€æ¨ª W ã®é•·æ–¹å½¢çŠ¶ã®ãŸã„焼ãプレートãŒã‚ã‚Šã€ãŸã„焼ãをセットã—ã¦ã‹ã‚‰ç„¼ã上ãŒã‚‹ã¾ã§ã« T 分ã‹ã‹ã‚‹ã€‚ã“ã®ãƒ—レートã¯ãŸã„焼ãを一度ã«æœ€å¤§ HW 個焼ãã“ã¨ãŒã§ãã€ãƒ—レートã®ä¸Šã‹ã‚‰ i (1 \leq i \leq H) 番目ã§å·¦ã‹ã‚‰ j (1 \leq j \leq W) 番目ã®å ´æ‰€ã§ç„¼ã„ã¦ã„ã‚‹ãŸã„焼ã㯠(i, j) ã§è¡¨ã•ã‚Œã‚‹ã€‚
次㮠3 種類ã®ã‚¤ãƒ™ãƒ³ãƒˆãŒåˆè¨ˆ Q 回発生ã™ã‚‹ã€‚ãªãŠã€åˆæœŸçŠ¶æ…‹ã§ã¯ãŸã„焼ãã¯ã„ãšã‚Œã®å ´æ‰€ã«ã‚‚セットã•ã‚Œã¦ã„ãªã„。
- 時刻 t ã«ã¤ãŸã•ã‚“㌠(h, w) ã«ãŸã„焼ãã‚’ 1 ã¤ã‚»ãƒƒãƒˆã™ã‚‹ã€‚ãã®ãŸã„焼ã㯠T 分ã§ç„¼ã上ãŒã‚Šã€æ™‚刻 t+T ã®æ™‚点ã§é£Ÿã¹ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚‹ã€‚ãŸã ã—ã€ã™ã§ã«ãŸã„焼ããŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã‚‹å ´æ‰€ã«ãŸã„焼ãをセットã™ã‚‹ã“ã¨ã¯ãªã„。
- 時刻 t ã«ã€ãˆã³ã¡ã‚ƒã‚“㌠(h, w) ã«ã‚ã‚‹ãŸã„焼ãã‚’ã¤ã¾ã¿é£Ÿã„ã—よã†ã¨ã™ã‚‹ã€‚ãŸã ã—ã€ã¤ã¾ã¿é£Ÿã„ã§ãã‚‹ã®ã¯ã™ã§ã«ç„¼ã上ãŒã£ãŸãŸã„焼ãã®ã¿ã§ã‚る。ã¤ã¾ã¿é£Ÿã„ã—ãŸå¾Œã¯ãã®å ´æ‰€ã‹ã‚‰ãŸã„焼ããŒç„¡ããªã‚‹ (ã™ãªã‚ã¡ã€ãŸã„焼ããŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ãªã„状態ã«ãªã‚‹)。ãŸã„焼ããŒç„¼ã上ãŒã£ã¦ã„ãªã„ã€ã¾ãŸã¯ãŸã„焼ããŒãªã„å ´æ‰€ã«ã‚‚ã¤ã¾ã¿é£Ÿã„ã®ã‚¤ãƒ™ãƒ³ãƒˆãŒç™ºç”Ÿã™ã‚‹å ´åˆãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã›ã‚ˆã€‚
- 左上㌠(h_1, w_1)ã€å³ä¸‹ãŒ (h_2, w_2) ã¨ãªã‚‹ã‚ˆã†ãªé•·æ–¹å½¢é ˜åŸŸå†… ((h_1, w_1) ãŠã‚ˆã³ (h_2, w_2) ã‚’å«ã‚€) ã®ãŸã„焼ãã«ã¤ã„ã¦ã€æ¬¡ã®æ•°ãŒæ™‚刻 t ã®æ™‚点ã§ãã‚Œãžã‚Œã„ãã¤ã§ã‚ã‚‹ã‹ã‚’ã¤ãŸã•ã‚“ãŒã‚«ã‚¦ãƒ³ãƒˆã™ã‚‹ã€‚
- ã™ã§ã«ç„¼ã上ãŒã£ãŸãŸã„焼ãã®æ•°
- ã¾ã 焼ã上ãŒã£ã¦ã„ãªã„ãŸã„焼ãã®æ•°
入力形å¼
H W T Q
t_1 c_1 h_{11} w_{11} (h_{12} w_{12})
t_2 c_2 h_{21} w_{21} (h_{22} w_{22})
…
t_Q c_Q h_{Q1} w_{Q1} (h_{Q2} w_{Q2})
入力ã¯å…¨ã¦æ•´æ•°ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
1 行目ã«ã¯ã€ãŸã„焼ãプレートã®ç¸¦ H〠横 W〠ãŸã„焼ãをセットã—ã¦ã‹ã‚‰ç„¼ãã‚ãŒã‚‹ã¾ã§ã®æ™‚é–“ T〠イベントã®æ•° Q ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
1+i (1 \leq i \leq Q) 行目ã«ã¯ã€æ™‚刻 t_i ã§ç™ºç”Ÿã—ãŸã‚¤ãƒ™ãƒ³ãƒˆã®å†…容ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
- c_i ã¯ã‚¤ãƒ™ãƒ³ãƒˆã®ç¨®é¡žã‚’表ã™ã€‚ã“ã®å€¤ãŒ 0 ãªã‚‰ã°ãŸã„焼ãをセットã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã€ 1 ãªã‚‰ã°ã¤ã¾ã¿é£Ÿã„ã‚’ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã€ 2 ãªã‚‰ã°ãŸã„焼ãをカウントã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’指ã™ã€‚
- h_{i1} (1 \leq h_{i1} \leq H)ã€w_{i1} (1 \leq w_{i1} \leq W) ã¯ã€c_i = 0, 1 ã«ãŠã„ã¦æ¬¡ã®ã‚ˆã†ãªæ„味ã§ã‚る。
- c_i = 0 ã®ã¨ãã€(h_{i1}, w_{i1}) ã®å ´æ‰€ã«ãŸã„焼ãã‚’1ã¤ã‚»ãƒƒãƒˆã™ã‚‹ã€‚
- c_i = 1 ã®ã¨ãã€(h_{i1}, w_{i1}) ã®å ´æ‰€ã«ç„¼ã上ãŒã£ãŸçŠ¶æ…‹ã®ãŸã„焼ããŒã‚ã‚Œã°ã¤ã¾ã¿é£Ÿã„ã‚’ã—ã€ãã†ã§ãªã‘ã‚Œã°ä½•ã‚‚ã—ãªã„。
- h_{i2}ã€w_{i2} ã¯ã€c_i = 2 ã®ã¨ãã®ã¿ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
- c_i = 2 ã®ã¨ãã€å·¦ä¸Šã‚’ (h_{i1}, w_{i1})〠å³ä¸‹ã‚’ (h_{i2}, w_{i2}) ã¨ã™ã‚‹é•·æ–¹å½¢é ˜åŸŸå†…ã®ãŸã„焼ãã«ã¤ã„ã¦ã‚«ã‚¦ãƒ³ãƒˆã™ã‚‹ã€‚
入出力ãŒéžå¸¸ã«å¤šããªã‚‹ã“ã¨ãŒäºˆæƒ³ã•ã‚Œã‚‹ãŸã‚ã€å…¥å‡ºåŠ›ã«é…ã„関数を使ã£ã¦ã„ã‚‹å ´åˆã¯æ³¨æ„ã—ã¦ãã ã•ã„。
制約
- 1 \leq H \leq 2 \times 10^3
- 1 \leq W \leq 2 \times 10^3
- 1 \leq T \leq 10^9
- 1 \leq Q \leq 10^5
- 1 \leq t_i \leq 10^9
- i \lt j ãªã‚‰ã°ã€ t_i \lt t_j
- 0 \leq c_i \leq 2
- 1 \leq h_{i1} \leq h_{i2} \leq H
- 1 \leq w_{i1} \leq w_{i2} \leq W
出力形å¼
(c_i = 2 (1 \leq i \leq Q) ã®å€‹æ•°) ã‚’ n ã¨ã™ã‚‹ã€‚ãŸã„焼ãã®ã‚«ã‚¦ãƒ³ãƒˆã®çµæžœã‚’ã€æ¬¡ã®æ›¸ãæ–¹ã«å¾“ã£ã¦ã‚¤ãƒ™ãƒ³ãƒˆã®ç™ºç”Ÿæ™‚é–“ãŒæ—©ã„é †ã« n è¡Œã«å‡ºåŠ›ã›ã‚ˆã€‚
a_1 b_1
a_2 b_2
…
a_n b_n
- a_i ã¯ã€é ˜åŸŸå†…ã«ã‚る「焼ã上ãŒã£ãŸãŸã„焼ãã®æ•°ã€ã§ã‚る。
- b_i ã¯ã€é ˜åŸŸå†…ã«ã‚る「ã¾ã 焼ã上ãŒã£ã¦ã„ãªã„ãŸã„焼ãã®æ•°ã€ã§ã‚る。
- 末尾ã®æ”¹è¡Œã‚’忘れãªã„ã“ã¨ã€‚
入力例1
3 3 3 6
1 0 1 1
2 2 1 1 2 2
3 1 1 1
4 0 2 1
5 2 1 1 2 2
6 2 2 1 3 3
出力例1
0 1
1 1
0 1
ã“ã®å…¥å‡ºåŠ›ä¾‹ã§ã¯ä»¥ä¸‹ã®ã‚¤ãƒ™ãƒ³ãƒˆãŒç™ºç”Ÿã—ã¦ã„る。
- 時刻 1 分ã«ã€(1, 1) ã«ãŸã„焼ãをセットã™ã‚‹ã€‚ã“ã®ãŸã„焼ãã¯æ™‚刻 4 分ã«ç„¼ã上ãŒã‚‹ã€‚
- 時刻 2 分ã«ã€å·¦ä¸Š (1, 1)ã€å³ä¸‹ (2, 2) ã®é•·æ–¹å½¢é ˜åŸŸã«ã‚ã‚‹ãŸã„焼ãをカウントã™ã‚‹ã€‚(1, 1) ã«ã‚»ãƒƒãƒˆã—ãŸãŸã„焼ãã¯ã¾ã 焼ã上ãŒã£ã¦ã„ãªã„ãŸã‚ã€
0 1
を出力ã™ã‚‹ã€‚
- 時刻 3 分ã«ã€(1, 1) ã«ã‚ã‚‹ãŸã„焼ãã‚’ã¤ã¾ã¿é£Ÿã„ã—よã†ã¨ã™ã‚‹ãŒã€ã¾ã 焼ã上ãŒã£ã¦ã„ãªã„ã®ã§ä½•ã‚‚ã—ãªã„。
- 時刻 4 分ã«ã€(2, 1) ã«ãŸã„焼ãをセットã™ã‚‹ã€‚ã“ã®ãŸã„焼ãã¯æ™‚刻 7 分ã«ç„¼ã上ãŒã‚‹ã€‚
- 時刻 5 分ã«ã€å·¦ä¸Š (1, 1)ã€å³ä¸‹ (2, 2) ã®é•·æ–¹å½¢é ˜åŸŸã«ã‚ã‚‹ãŸã„焼ãをカウントã™ã‚‹ã€‚(1, 1) ã®ãŸã„焼ãã¯ç„¼ã上ãŒã£ã¦ãŠã‚Šã€ (2, 1) ã®ãŸã„焼ãã¯ã¾ã 焼ã上ãŒã£ã¦ã„ãªã„ãŸã‚ã€
1 1
を出力ã™ã‚‹ã€‚
- 時刻 6 分ã«ã€å·¦ä¸Š (2, 1)ã€å³ä¸‹ (3, 3) ã®é•·æ–¹å½¢é ˜åŸŸã«ã‚ã‚‹ãŸã„焼ãをカウントã™ã‚‹ã€‚(2, 1) ã®ãŸã„焼ãã¯ã¾ã 焼ã上ãŒã£ã¦ã„ãªã„ãŸã‚ã€
0 1
を出力ã™ã‚‹ã€‚