print839. Турнир

printТурнир

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

В турнире по хоккею участвовало `K` команд, каждая сыграла с каждой по одному матчу. За победу команда получала 2 очка, за ничью – 1, за поражение – 0 очков.
Известно, сколько очков в итоге получила каждая команда, однако результаты конкретных матчей были утеряны. Требуется восстановить одну из возможных турнирных таблиц.
В первой строке записано одно натурально число `K`, не превосходящее 100 – количество команд. Во второй строке записаны через пробел `K` целых неотрицательных чисел, не превосходящих `2*(K-1)`, – количество очков, набранных командами, занявшими первое, второе, …, `K`-е места соответственно (то есть каждое следующее число не больше предыдущего).
В выходной файл выведите турнирную таблицу в следующем формате. Таблица должна состоять из `K` строк с результатами игр команд, занявших первое, второе, …, последнее место (команды, набравшие одинаковое число очков, могут быть расположены в таблице в любом порядке). В каждой строке должно быть записано `K` чисел через пробел – количество очков, набранных в игре данной команды с первой, второй, …, `K`-й командами соответственно. Количество очков – это число 0, 1 или 2. В клетках на главной диагонали (соответствующих не существующей игре команды "самой с собой") нужно записать нули.
Гарантируется, что входные данные соответствуют реальному турниру, то есть хотя бы одна таблица, соответствующая входным данным, может быть построена. Если таких таблиц несколько, выведите любую из них.

Пример ввода 1

4
6 4 2 0

Пример вывода 1

0 2 2 2
0 0 2 2
0 0 0 2
0 0 0 0

Пример ввода 2

4
3 3 3 3

Пример вывода 2

0 2 0 1
0 0 2 1
2 0 0 1
1 1 1 0
Московская городская олимпиада школьников по информатике, 2008
loading