Notice
Recent Posts
Recent Comments
Link
할껀하고놀자
[SW역량테스트준비] 낚시왕 본문
728x90
-
상어 배열에 넣기
-
낚시왕 한칸씩 이동
-
임시 배열 하나 생성(새로운 상어가 놓일 위치 지정용)
-
가장 가까운 열에 있는 상어 잡기
-
상어 이동
-
for문 돌리면서 방향 이동해주기
-
-
import sys
from sys import stdin
# sys.stdin = open('input.txt')
input = stdin.readline
r, c, m = map(int, input().split())
a = [[[0, 0, 0] for _ in range(c)] for _ in range(r)]
for _ in range(m):
x, y, s, d, z = map(int, input().split())
a[x-1][y-1] = [s, d-1, z]
dx, dy, ans = (-1, 1, 0, 0), (0, 0, 1, -1), 0
for t in range(c):
b = [[[0, 0, 0] for _ in range(c)] for _ in range(r)]
for i in range(r):
_, _, z = a[i][t]
if z:
ans += z
a[i][t] = [0, 0, 0]
break
for i in range(r):
for j in range(c):
s, d, z = a[i][j]
if z:
if d < 2:
ns, nd, ni = s % ((r-1)*2), d, i
for _ in range(ns):
if ni == 0 and nd == 0:
nd = 1
if ni == r-1 and nd == 1:
nd = 0
ni += dx[nd]
_, _, bz = b[ni][j]
if z > bz:
b[ni][j] = [s, nd, z]
else:
ns, nd, nj = s % ((c-1)*2), d, j
for _ in range(ns):
if nj == 0 and nd == 3:
nd = 2
if nj == c-1 and nd == 2:
nd = 3
nj += dy[nd]
_, _, bz = b[i][nj]
if z > bz:
b[i][nj] = [s, nd, z]
a[i][j] = [0, 0, 0]
a = 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