hiho week 99 register

Ended

Participants:253

Verdict:Accepted
Score:100 / 100
Submitted:2016-05-22 23:36:19

Lang:Python2

Edit
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
def move(xyi):
    if i == 0:
        return (x-2y+1)
    elif i == 1:
        return (x-1y+2)
    elif i == 2:
        return (x+1y+2)
    elif i == 3:
        return (x+2y+1)
    elif i == 4:
        return (x+2y-1)
    elif i == 5:
        return (x+1y-2)
    elif i == 6:
        return (x-1y-2)
    elif i == 7:
        return (x-2y-1)
def bfs(fxy):
    f[x][y] = 0
    queue = [(xy)]
    while queue:
        now_xnow_y = queue.pop(0)
        for i in xrange(8):
            next_xnext_y = move(now_xnow_yi)
            if 0 <= next_x < 8 and 0 <= next_y < 8 and f[next_x][next_y] == -1:
                f[next_x][next_y] = f[now_x][now_y] + 1
                queue.append((next_xnext_y))
def solve(position):
    step = [[[-1]*8 for i in xrange(8)] for k in xrange(3)]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX