Browse Source

updated to my failing solution

master
Stephen McQuay 8 years ago
parent
commit
92e372c55b
1 changed files with 35 additions and 5 deletions
  1. +35
    -5
      clear-the-way/clear_the_way.py

+ 35
- 5
clear-the-way/clear_the_way.py View File

@ -29,16 +29,46 @@ bombs = []
for line in range(K):
x, y = [int(i) for i in sys.stdin.readline().strip().split()]
board[x][y] = True
bombs.append([x, y])
bombs.append((x, y))
click = [int(i) for i in sys.stdin.readline().strip().split()]
print click # XXX
click = tuple(int(i) for i in sys.stdin.readline().strip().split())
if click in bombs:
sys.exit()
counts = defaultdict(int)
adjacent_to_bombs = defaultdict(int)
for bomb in bombs:
for ni, nj in around(*bomb):
if ni >= 0 and nj >= 0 and ni < N and nj < M and [ni, nj] not in bombs:
counts[ni, nj] += 1
adjacent_to_bombs[ni, nj] += 1
if tuple(click) in adjacent_to_bombs.keys():
sys.exit()
for line in board:
print line
unobscured = {}
visited = {}
def seek_and_destroy(dude, unobscured):
if dude in unobscured:
return
unobscured[dude] = True
to_recurse = {}
for ni, nj in around(*dude):
if (ni >= 0 and nj >= 0 and ni < N and nj < M) and \
((ni, nj) not in bombs):
candidate = (ni, nj)
unobscured[candidate] = True
to_recurse[candidate] = True
print ">>>", to_recurse.keys()
for c in to_recurse.keys():
seek_and_destroy(c, unobscured)
seek_and_destroy(click, unobscured)
print "\n\n"
print "\n".join('{} {}'.format(*i) for i in sorted(unobscured.keys()))

Loading…
Cancel
Save