Доброго времени суток! Имеются проблемы с задачей.Предыдущую тему удалил из-за другой проблемы, возникшей с этой задачей. Вот ссылка (задача С, Турнир) Your text to link here...
Вот само условие. Для тех, кто не хочет переходить по ссылке :
В турнире по хоккею участвовало K команд, каждая сыграла с каждой по одному матчу. За победу команда получала 2 очка, за ничью – 1, за поражение – 0 очков.
Известно, сколько очков в итоге получила каждая команда, однако результаты конкретных матчей были утеряны. Требуется восстановить одну из возможных турнирных таблиц. Входные данные
В первой строке входных данных содержится одно натурально число K, не превосходящее 100 – количество команд. Во второй строке задаются через пробел K целых неотрицательных чисел, не превосходящих 2(K–1), – количество очков, набранных командами, занявшими первое, второе, …, K-е места соответственно (то есть каждое следующее число не больше предыдущего). Выходные данные
Выведите турнирную таблицу в следующем формате. Таблица должна состоять из K строк с результатами игр команд, занявших первое, второе, …, последнее место (команды, набравшие одинаковое число очков, могут быть расположены в таблице в любом порядке). В каждой строке должно быть записано K чисел через пробел – количество очков, набранных в игре данной команды с первой, второй, … командами соответственно. Количество очков – это число 0, 1 или 2. В клетках на главной диагонали (соответствующих не существующей игре команды "самой с собой") нужно записать нули.
Гарантируется, что входные данные соответствуют реальному турниру, то есть хотя бы одна таблица, соответствующая входным данным, может быть построена. Если таких таблиц несколько, выведите любую из них.
Я перепробовал множество алгоритмов : максимальный поток, много версий жадных алгоритмов, но максимум беру 70 % баллов.
Полного решения я просто не могу придумать. Может кто поможет с какой идеей?
Идей уже просто не осталось. Если кому-то понадобятся предыдущие исходники мои по этой задаче — то сразу же предоставлю их.