Не могу разобраться где ошибка.

Hiskd1

Новичок
Пользователь
Окт 7, 2024
1
0
1
Здравствуйте! Помогите найти ошибку в коде, пожалуйста.

import sys

def read_input():
n = int(input())
candies = list(map(int, input().split()))
return n, candies

def print_move(vase, count):
print(vase + 1, count)
sys.stdout.flush()

def find_best_move(candies):
for i in range(len(candies)):
if candies >= 1:
return i, 1
if candies >= 2:
return i, 2
return -1, -1

def main():
n, candies = read_input()

while True:
vase, count = find_best_move(candies)
if vase == -1:
print(-1)
sys.stdout.flush()
break

print_move(vase, count)
candies[vase] -= count

jury_move = input().strip()
if jury_move == "-1":
break

jury_vase, jury_count = map(int, jury_move.split())
candies[jury_vase - 1] -= jury_count


if all(c == 0 for c in candies):
break

if __name__ == "__main__":
main()

Требуется играть против программы жюри в описанную игру, делая ходы за первого игрока. Сначала следует прочитать начальные данные об игре. Чтобы сделать ход, следует вывести на отдельной строке этот ход. Если возможных ходов нет, или участник хочет сдаться заранее, следует вместо хода вывести число -1. После вывода необходимо очистить буфер вывода: sys.stdout.flush () в Python.

Далее, если игра окончена, программа должна завершить работу. В противном случае следует прочитать ход, сделанный программой жюри, и делать следующий ход. Жюри выводит ходы по тем же правилам, что и программа участника. В частности, одно число -1 в строке означает победу программы участника. Решение считается правильным, если оно выигрывает во всех тестах, в которых можно выиграть при правильной игре, а при неизбежном проигрыше рано или поздно выводит -1.

Есть n вазочек с конфетами: в первой вазочке количество конфет равно a1, во второй — a2, . . ., в n-й — an. За один ход можно взять из одной любой вазочки 1 или 2 конфеты. В первой строке задано одно целое число n (1 ≤ n ≤ 100). Во второй строке заданы числа a1, a2, . . ., an, разделённые пробелами (1 ≤ ai ≤ 100).

Ход записывается двумя числами — номером вазочки и количеством конфет, которое следует из неё взять.
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
405
113
43
 

Форум IT Специалистов