Slavon7, Вообще непонятен вопрос. Приведите несколько примеров входных и выходных данных. Переформулируйте "нужно изменит значения переменной так что бы было условие" Какой переменной? Поменять местами k, m, n?
И еще дополнение - в стек вы кладете тип открывающей скобки. При встрече закрывающей - надо проверить, что на вершине в стеке лежит открывающая скобка того же типа.
Можете подсказку дать, или описать, что это за аналитическое решение? Все, решения, что я могу найти, это или использование встроенных BigInt и их аналогов, или собственно реализация сложения длинных чисел (которая, на самом деле, тривиальна).
Андрей Руденко, Вы заводите и инициализируете новый массив в цикле по i. При этом вне цикла остается неинициализированный массив.
Надо инициализацию вывести за цикл, туда где у вас массив a заводится.
И еще вы массив не отсортировали, без этого проверка простым циклом не сработает.
Еще, цикл нужно гнать от 1, вы же обращаетесь к i-1-ому элементу.
Александр, Ну вот без этого никак не решить. Можно для каждого X задать соответствующий Y - но это уже позволяет задавать только правильные отображения. Можно задать пары (x,y). Тогда надо проверить, что все x из X встречаются по одному разу. Это можно сделать так - выделить все X из пар в массив, отсортировать его и сравнить с множеством X, которое вы тоже читаете в массив и сортируете
Kalombyr, У вас на картинке у ячеек разная высота в разных строках. Это проблемы рисунка, или вы допускаете такое решение?
Потом, в текущей постановке, если могут быть пустые ячейки, то можно просто взять очень-очень мелкую сетку. Тогда каждая точка точно будет в отдельной клетке. Нужно или ограничить их с низу, или выбрать критерии. Может вам нужна сетка с максимальной площадью ячейки, если они все одинаковые должны быть.
dalbio, Не совсем ясно выразился. Ее можно подсчитать для меньших m x n. В этой задаче обычно двумя циклами считают функцию гранди для состояний i x j. Для вычисления этого состояния перебирают все разломы, и берут xor уже известных двух меньших прямоугольников.
Можно рекурсивно с мемоизацией считать - не важно. Главное, что вам надо считать функцию не для множества плиток, а только для одной.