-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2382_미생물격리_re.py
98 lines (55 loc) · 2.01 KB
/
2382_미생물격리_re.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
from pprint import pprint
# test_num = int(input())
# change = {1:(-1,0), 2:(1,0), 3:(0,-1), 4:(0,1)}
# direction = {1:2, 2:1, 3:4, 4:3}
# for t in range(test_num):
# N, M, K = map(int,input().split())
# board = [0]*N
# for i in range(N):
# board[i] = [[]for i in range(N)]
# queue = []
# for i in range(K):
# queue.append(list(map(int,input().split())))
# def move(y, x, n, d): # 세로, 가로, 미생물수, 방향 ==> 미생물 움직이는 함수
# dx, dy = change[d]
# rx = x + dx
# ry = y + dy
# if rx == 0 or rx == N-1 or ry == 0 or ry == N-1:
# d = direction[d]
# return [ry, rx, n, d]
# for i in range(M):
# temp = []
# for j in range(len(queue)):
# y, x, n, d = queue.pop(0)
# if board[y][x] == [] or board[y][x][0] ! = n: # 이런경우는 이 전 차례에 자신이 사라졌다는말이므로 다음 for문으로 continue해준다.
# continue
# board[y][x].pop(0)
# y, x, n, d = move[y, x, n, d]
# if n == 0:
# continue
# board[y][x].append([n,d])
# if len(board[y][x]) > 1:
# temp.appned([x,y])
# queue.append(y,z,n,d)
# for j in range(len(temp)):
direction = { 1:2, 2:1, 3:4, 4:3 }
change = { 1:(-1,0), 2:(1,0), 3:(0,-1), 4:(0,1) } # 순서대로 위, 아래, 왼쪽, 오른쪽
test_num = int(input())
for t in range(test_num):
result = 0
N, M, K = map(int,input().split())
board = [0]*N
for i in range(N):
board[i] = [[] for j in range(N)]
# pprint(board)
def move(i,j,n,d):
di, dj = change[d]
ri = i + di
rj = j + dj
if ri == 0 or rj == 0 or ri == N-1 or rj == N-1:
n = n//2
d = direction[d]
return i, j, n, d
for i in range(M):
print('#' + str(t+1) + ' ', end='')
print(result)