Skip to content

Commit 9bc451e

Browse files
committed
1 parent b9d0e26 commit 9bc451e

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
def solution(commands):
2+
answer = []
3+
graph = [[(i, j) for j in range(50)] for i in range(50)]
4+
value = [["EMPTY"] * 50 for _ in range(50)]
5+
for command in commands:
6+
command = command.split(' ')
7+
if command[0] == 'UPDATE':
8+
if len(command) == 4:
9+
r,c,value = int(command[1])-1,int(command[2])-1,command[3]
10+
x,y = graph[r][c]
11+
value[x][y] = value
12+
elif len(command) == 3:
13+
value1, value2 = command[1], command[2]
14+
for i in range(50):
15+
for j in range(50):
16+
if value[i][j] == value1:
17+
value[i][j] = value2
18+
elif command[0] == 'MERGE':
19+
r1,c1,r2,c2 = int(command[1])-1, int(command[2])-1, int(command[3])-1, int(command[4])-1
20+
x1,y1 = graph[r1][c1]
21+
x2,y2 = graph[r2][c2]
22+
if value[x1][y1] == "EMPTY":
23+
value[x1][y1] = value[x2][y2]
24+
for i in range(50):
25+
for j in range(50):
26+
if graph[i][j] == (x2,y2):
27+
graph[i][j] = (x1,y1)
28+
elif command[0] == 'UNMERGE':
29+
r, c = int(command[1])-1,int(command[2])-1
30+
x, y = graph[r][c]
31+
tmp = value[x][y]
32+
for i in range(50):
33+
for j in range(50):
34+
if graph[i][j] == (x,y):
35+
graph[i][j] = (i,j)
36+
value[i][j] = "EMPTY"
37+
value[r][c] = tmp
38+
elif command[0] == 'PRINT':
39+
r, c = int(command[1])-1, int(command[2])-1
40+
x, y = graph[r][c]
41+
answer.append(value[x][y])
42+
return answer

0 commit comments

Comments
 (0)