QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 1024 MB Puntuación total: 100

#23960. 遮蔽膠紙

Estadísticas

題目描述

JOI 君用緊畫紙同埋遮蔽膠紙玩填色遊戲。

張畫紙係長方形嘅,上面畫咗直 $H$ 行、橫 $W$ 列嘅方格。由上至下第 $i$ 行($1 \le i \le H$)、由左至右第 $j$ 列($1 \le j \le W$)嘅格仔叫做格仔 $(i, j)$。

每個格仔都設定咗 $1$ 種顏色。顏色用整數表示,一開始所有格仔嘅顏色都係 $0$。

JOI 君用呢張畫紙同埋遮蔽膠紙進行 $Q$ 次操作。第 $k$ 次($1 \le k \le Q$)操作會根據整數 $q_k$ 嘅數值按以下方式進行:

  • 當 $q_k = 1$ 嗰陣,呢次操作用整數 $x_k, y_k, c_k$ 表示。對於格仔 $(x_k, y_k)$、$(x_k + 1, y_k)$、$(x_k, y_k + 1)$、$(x_k + 1, y_k + 1)$ 入面嘅每一個,如果個格仔未畀遮蔽膠紙遮住,就將個格仔嘅顏色改做 $c_k$;如果個格仔已經畀遮蔽膠紙遮住,就對個格仔乜都唔做。
  • 當 $q_k = 2$ 嗰陣,呢次操作用整數 $x_k, y_k$ 表示。用遮蔽膠紙遮住格仔 $(x_k, y_k)$、$(x_k + 1, y_k)$、$(x_k, y_k + 1)$、$(x_k + 1, y_k + 1)$。

做晒全部 $Q$ 次操作之後,搣走所有遮蔽膠紙。注意,當搣走某個格仔上面嘅遮蔽膠紙嗰陣,個格仔嘅顏色會變返做佢畀遮蔽膠紙遮住之前嗰一刻嘅顏色。

畀定 $Q$ 次操作嘅資訊,請寫一個程式,求最終畫紙上面所有格仔嘅顏色。

數據範圍

  • $2 \le H \le 500$。
  • $2 \le W \le 500$。
  • $1 \le Q \le 200\,000$。
  • $q_k$ 係 $1$ 或者 $2$ 其中一個($1 \le k \le Q$)。
  • 當 $q_k = 1$ 嗰陣,$1 \le x_k \le H - 1$,$1 \le y_k \le W - 1$,$1 \le c_k \le 10^9$($1 \le k \le Q$)。
  • 當 $q_k = 2$ 嗰陣,$1 \le x_k \le H - 1$,$1 \le y_k \le W - 1$($1 \le k \le Q$)。
  • 輸入嘅所有數值都係整數。

子任務

  1. ($32$ 分)$H = 2$,$W = 2$,$q_k = 1$($1 \le k \le Q$)。
  2. ($32$ 分)$q_k = 1$($1 \le k \le Q$)。
  3. ($36$ 分)無額外限制。

輸入格式

輸入按以下格式畀出:

$$ \begin{aligned} &H\ W\ Q \\ &(\text{Query } 1) \\ &(\text{Query } 2) \\ &\vdots \\ &(\text{Query } Q) \end{aligned} $$

每個 $(\text{Query } k)$($1 \le k \le Q$)包含幾個用空格隔開嘅整數。其中第 $1$ 個整數係 $q_k$,呢行嘅內容係以下其中一種:

  • 當 $q_k = 1$ 嗰陣,呢行後面跟住 $3$ 個用空格隔開嘅整數 $x_k, y_k, c_k$。
  • 當 $q_k = 2$ 嗰陣,呢行後面跟住 $2$ 個用空格隔開嘅整數 $x_k, y_k$。

輸出格式

輸出 $H$ 行,代表最終畫紙上面所有格仔嘅顏色。喺第 $i$ 行($1 \le i \le H$)輸出 $W$ 個用空格隔開嘅整數,其中第 $j$ 個($1 \le j \le W$)輸出嘅整數係格仔 $(i, j)$ 嘅顏色。

樣例

樣例輸入 1

5 5 4
1 2 2 1
2 1 2
2 3 3
1 1 3 5

樣例輸出 1

0 0 0 5 0
0 1 1 5 0
0 1 1 0 0
0 0 0 0 0
0 0 0 0 0

按順序睇下呢 $4$ 次操作。

對於第 $1$ 次操作,$q_1 = 1$。因為格仔 $(2, 2)$、$(2, 3)$、$(3, 2)$、$(3, 3)$ 全部都未畀遮蔽膠紙遮住,所以將佢哋嘅顏色改做 $1$。

呢個時候,畫紙係噉樣嘅:

0 0 0 0 0
0 1 1 0 0
0 1 1 0 0
0 0 0 0 0
0 0 0 0 0

對於第 $2$ 次操作,$q_2 = 2$。用遮蔽膠紙遮住格仔 $(1, 2)$、$(1, 3)$、$(2, 2)$、$(2, 3)$。

呢個時候,畫紙係噉樣嘅。注意,喺畀遮蔽膠紙遮住嘅格仔嘅顏色整數右邊加咗個 *:

0 0* 0* 0 0
0 1* 1* 0 0
0 1 1 0 0
0 0 0 0 0
0 0 0 0 0

對於第 $3$ 次操作,$q_3 = 2$。用遮蔽膠紙遮住格仔 $(3, 3)$、$(3, 4)$、$(4, 3)$、$(4, 4)$。

呢個時候,畫紙係噉樣嘅:

0 0* 0* 0 0
0 1* 1* 0 0
0 1 1* 0* 0
0 0 0* 0* 0
0 0 0 0 0

對於第 $4$ 次操作,$q_4 = 1$。因為格仔 $(1, 4)$、$(2, 4)$ 未畀遮蔽膠紙遮住,所以將佢哋嘅顏色改做 $5$。因為格仔 $(1, 3)$、$(2, 3)$ 已經畀遮蔽膠紙遮住,所以乜都唔做。

呢個時候,畫紙係噉樣嘅:

0 0* 0* 5 0
0 1* 1* 5 0
0 1 1* 0* 0
0 0 0* 0* 0
0 0 0 0 0

因此,最終畫紙上面所有格仔嘅顏色好似樣例輸出噉。

呢個樣例滿足子任務 $3$ 嘅限制。


樣例輸入 2

5 5 3
1 1 1 2
1 3 3 3
1 2 4 2

樣例輸出 2

2 2 0 0 0
2 2 0 2 2
0 0 3 2 2
0 0 3 3 0
0 0 0 0 0

呢個樣例滿足子任務 $2, 3$ 嘅限制。


樣例輸入 3

10 10 10
2 5 7
2 5 6
1 5 6 1
1 9 2 1
2 1 1
1 2 4 2
2 3 2
1 2 2 3
1 9 9 2
1 8 8 1

樣例輸出 3

0 0 0 0 0 0 0 0 0 0
0 0 3 2 2 0 0 0 0 0
0 0 0 2 2 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0
0 1 1 0 0 0 0 1 1 2
0 1 1 0 0 0 0 0 2 2

呢個樣例滿足子任務 $3$ 嘅限制。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.