๐ก ์กฐ๊ฑด
- ์ธ์ค์ด๋ 1ร1ํฌ๊ธฐ์ ๊ทธ๋ฆผ์ผ๋ก ๋ชจ์์ดํฌํ 100ร100ํฌ๊ธฐ์ ๊ทธ๋ฆผ์ ๊ฐ์ง๊ณ ์๋ค.
- ์ด๋ ๋ ์ด ๋ชจ์์ดํฌ ์ค ์ผ๋ถ ๊ทธ๋ฆผ์ด ๋๋ฌด ๋ณด๊ธฐ ์ซ์ด์ N๊ฐ์ ๋ถํฌ๋ช
ํ ์ข
์ด๋ก ๊ทธ๋ฆผ์ ๊ฐ๋ฆฌ๊ธฐ ์์ํ๋ค.
- ๊ทธ๋ฆผ์ ํ์ฌ ๋ถ๋ถ ์์ M๊ฐ ์ดํ์ ์ข
์ด๊ฐ ์ฌ๋ ค์ ธ ์์ผ๋ฉด ๊ทธ๋ฆผ์ ๊ทธ ๋ถ๋ถ์์ ๋ณด์ด๊ฒ ๋๋ค.
- N์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. M์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
- ์ผ์ชฝ ์๋ ๋ชจ์๋ฆฌ์ x, y์ขํ, ์ค๋ฅธ์ชฝ ์ ๋ชจ์๋ฆฌ์ x, y์ขํ ์์ผ๋ก ์ฃผ์ด์ง๋ค.
๋ชจ๋ ์ขํ๋ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
- ์๋ฎฌ๋ ์ด์
, ๊ตฌํ
๐ฅ ์์ค ์ฝ๋
from sys import stdin
board = [[False] * 101 for _ in range(101)]
n, m = map(int, stdin.readline().split())
for _ in range(n):
x1, y1, x2, y2 = map(int, stdin.readline().split())
for i in range(x1, x2 + 1):
for j in range(y1, y2 + 1):
if board[i][j] is False:
board[i][j] = 1
else:
board[i][j] += 1
res = 0
for i in range(1, 101):
for j in range(1, 101):
if board[i][j] > m:
res += 1
print(res)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
3 1
21 21 80 80
41 41 60 60
71 71 90 90
์คํ๊ฒฐ๊ณผ
500
โจ๏ธ ๋ฌธ์ ํ์ด
- N๊ฐ์ ๋ถํฌ๋ช
ํ ์ข
์ด์ ์ขํ๋ฅผ ๋ฐ์์ x1๋ถํฐ x2๊น์ง, y1๋ถํฐ y2๊น์ง ์ํํ๋ค.
- ์ํํ๋ฉด์ ํด๋นํ๋ ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฐฐ์ด์ ๊ฐ์ด False๋ผ๋ฉด 1๋ก ๋ณ๊ฒฝํ๋ค.
- ์ํํ๋ฉด์ ํด๋นํ๋ ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฐฐ์ด์ ๊ฐ์ด False๊ฐ ์๋๋ผ๋ฉด + 1 ํด์ค๋ค.
- 100 * 100 ํฌ๊ธฐ์ ์ขํ๋ฅผ ์ํํ๋ฉด์ m ์ด์์ ํฌ๊ธฐ๊ฐ ์๋ค๋ฉด res + 1 ํด์ค๋ค.
๐พ ๋๋์