IvalIga
Не пытайтесь сразу писать программу, сначала дискретизируйте задание, разбейте его на шаги, потом посмотрите, как более оптимально можно реализовать каждый шаг, составьте математическую модель задания, попытайтесь составить алгоритм, проверьте его правильность и непротиворечивость, только потом принимайтесь за программу на языке программирования.