War Planes - Python Advanced Exam
Здравейте, бих искал да видите къде може да греша в моя код. Защото на тестовете ми излиза всичко вярно, но в Judge ми излиза 50/100.
Тук е задачата: https://judge.softuni.bg/Contests/Practice/Index/2025#1
Ето и моя код:
n = int(input())
targets_counter = 0
destroyed_targets = 0
field = []
plane_pos = ()
directions = {'up': (-1, 0), 'right': (0, 1), 'down': (1, 0), 'left': (0, -1)}
for row in range(n):
line = input().split(" ")
if "p" in line:
plane_pos = (row, line.index("p"))
field.append(line)
for r in field:
if 't' in r:
targets_counter += 1
commands_counter = int(input())
for _ in range(commands_counter):
command = input().split(" ")
activity = command[0]
direction = command[1]
moves = int(command[2])
row = plane_pos[0]
col = plane_pos[1]
row_changes = directions[direction][0]
col_changes = directions[direction][1]
sum_row = row + row_changes * moves
sum_col = col + col_changes * moves
if sum_col >= n or sum_row >= n:
continue
current_cell = field[sum_row][sum_col]
if activity == "shoot":
if current_cell != "p" and current_cell != "t":
current_cell = 'x'
elif current_cell == "t":
current_cell = 'x'
destroyed_targets += 1
field[sum_row][sum_col] = current_cell
if destroyed_targets == targets_counter:
print(f"Mission accomplished! All {destroyed_targets} targets destroyed.")
break
elif activity == "move":
field_place = field[sum_row][sum_col]
if field_place == '.':
field[row][col] = '.'
plane_pos = (sum_row, sum_col)
field[sum_row][sum_col] = 'p'
if targets_counter > destroyed_targets:
print(f"Mission failed! {targets_counter - destroyed_targets} targets left.")
for x in field:
print(' '.join(x))
Благодаря предварително!