-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBotClean.py
32 lines (32 loc) · 929 Bytes
/
BotClean.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
def NextMove(b,dirty):
least = abs(b[0] - dirty[0][0]) + abs(b[1] - dirty[0][1])
least_dirty = dirty[0]
for d in dirty:
move = abs(b[0] - d[0]) + abs(b[1] - d[1])
if least > move:
least = move
least_dirty = d
elif least < move:
break
v, h = least_dirty
if h > b[1]:
return least_dirty, 'RIGHT'
elif h < b[1]:
return least_dirty, 'LEFT'
elif v > b[0]:
return least_dirty, 'DOWN'
elif v < b[0]:
return least_dirty, 'UP'
else:
return least_dirty, 'CLEAN'
def FindDirty(board):
dirty = []
for col in range(5):
for row in range(5):
if board[col][row] == 'd':
dirty.append(tuple((col, row)))
return dirty
b = tuple(int(i) for i in input().strip().split())
Dirty = FindDirty([list(input()) for i in range(5)])
dirt, dir = NextMove(b, Dirty)
print(dir)