Столкнулся с задачами, решение которых я если и в голове очень смутно, но представляю, то в коде ну вообще никак... Погуглил по слову Комбинаторика, кажется, это из этой области. Вот задача:
Во входном файле записаны три числа – N, K, S (1 ≤ N ≤ 100, 1 ≤ K ≤ N, 0 ≤ S ≤ K2).
И вывести надо получившуюся матрицу. Может кто-нибудь объяснить алгоритм решения? Я додумался лишь до того, что сначала надо посчитать все возможные "квадраты", а уже потом, исходя из их расположения заполнять..