Завдання з простими правилами, але нетривіальними алгоритмами. :-)
Завдання
Візьміть дані у вигляді цілих чисел, розділених пробілом:
N A B S
Де N - бічна довжина 2D квадратної матриці, заповненої унікальними числами (цілими числами) між A і B включно. Для кожного рядка та стовпця в цій матриці сума завжди однакова: S. (Іншими словами, матриця - це напівмагічний квадрат).
Примітка:
Усі цифри позитивні. Виняток становить A, який може бути 0.
Приклади
Для
3 1 10000 2015
правильним рішенням було б
Для
8 1 300 500
правильним рішенням було б
Вихідні дані
Вихід повинен бути таблицею ASCII. Приклад першого прикладу вище:
384 159 1472
1174 499 342
457 1357 201
Цілі вирівнювання, задані пробілами. Ширина кожного стовпця - це ширина найбільшого цілого числа в цьому стовпці.
Оцінка балів
Це код-гольф , тому найкоротший код у байтах виграє. Застосовуються стандартні лазівки (особливо про вбудовані для вирішення цієї проблеми). Вам не потрібно піклуватися про неправильні або інакше неможливі введення даних (включаючи від’ємні цифри). Будь ласка, надайте зразок результату у своїй відповіді (обов’язково) для другого прикладу вище.
A
, B
і N
може бути негативним?