3 3
3 3
3 3
1 1
9
4 4
1 1
4 4
3 3
2 4
15
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
import sys
input = sys.stdin.readline
from collections import deque
dx = [0, 0, 1, -1]
dy = [1, -1, 0, 0]
n, k = map(int, input().split())
square = [[0 for _ in range(n)] for _ in range(n)] # 2차원 배열 생성
q = deque()
# 좌표를 입력받아서 q에 좌표 추가
for _ in range(k):
a, b = map(int, input().split())
q.append([a-1], [b-1]) # 컴퓨터 배열은 0,0부터 시작이니까
while q :
x, y = q.popleft() # 왼쪽에서 좌표 빼기(첫번째 좌표)
square[x][y] += 1 # 해당 좌표에 +1
# 십자가 모양 확인하면서 +1
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
# index가 out of range인지 확인하면서 +1
if 0 <= nx < n and 0 <= y < n:
square[nx][ny] += 1
# 2차원 배열 돌면서 모든 값 더하기
result = 0
for i in square:
result += sum(i)
print(result)
오... 때깔나..
생각보다 재밌다..! 나.. 코테 노잼인간.. 그치만 도장깨기 스탬프 찍기 이런거 좋아해서 일주일에 도장 2개씩 받아가니까 재밌다^,^