Notice
Recent Posts
Recent Comments
Link
할껀하고놀자
[SW역량테스트준비] 캐슬 디펜스 본문
728x90
-
궁수 3명 지정해준다
-
n번만큼 돌면서
-
3명의 아쳐들과 비교한다
-
거리를 비교
-
-
선택받은 적은 킬한다
-
한칸씩 밑으로 내린다
-
-
정답이 최대인 걸 구한다.
수도코드 짜는게 솔직히 제일 중요한걸 느끼는데 하루남았네?
import sys,copy
from heapq import heappush,heappop
from sys import stdin
# sys.stdin = open('input.txt')
input = stdin.readline
n,m,d = map(int,input().split())
a = [list(map(int,input().split())) for _ in range(n)]
archer = [0]*3
def kill(b):
cnt = 0
for _ in range(n):
v =[]
for idx in range(3):
q = []
for i in range(n):
for j in range(m):
if b[i][j]==1:
dist = abs(n-i)+abs(archer[idx]-j) # 이 부분 수정하였음. idx -> archer[idx]
if dist<=d:
heappush(q,(dist,j,i))
if q:
_,j,i = heappop(q)
v.append((i,j))
for i,j in v:
if b[i][j]:
b[i][j]=0
cnt +=1
for i in range(n-2,-1,-1):
for j in range(m):
b[i+1][j] = b[i][j]
for i in range(m):
b[0][i] = 0
return cnt
ans = 0
for i in range(m):
for j in range(i+1,m):
for k in range(j+1,m):
archer[0],archer[1],archer[2] = i,j,k
b = copy.deepcopy(a)
ans = max(ans,kill(b))
print(ans)
'[IT]' 카테고리의 다른 글
[SW역량테스트준비] 낚시왕 (0) | 2019.10.19 |
---|---|
[SW역량테스트준비] 치킨 배달 (0) | 2019.10.17 |
[SW역량테스트준비] 연구소 3 (0) | 2019.10.13 |
[SW역량테스트준비] 아기상어 (0) | 2019.10.13 |
[C++]define와 typedef의 차이점 (0) | 2018.02.15 |
Comments