 TTT
| Описание Известно, что некоторые программисты любят откладывать тестирование на последние дни работы над программой, и это может приводить к ошибкам. Для некоторой фирмы "KROK" такая привычка работников стала настоящим бедствием. В результате было принято решение, чтобы каждый программист занимался тестированием не только своей, но и чужих программ. После переписи работников выяснилось, что в фирме работает N программистов (N - простое число от 7 до 97 включительно). Выяснилось также, что каждый программист пишет, сопровождает и отвечает за ровно одну программу. Для тестирования было приготовлено N тестов, подходящих для любой программы. Стремясь к разнообразию и повышению эффективности, руководство фирмы постановило также, что: каждый программист должен провести ровно N тестов, при этом каждая программа должна быть протестирована им ровно один раз; кроме того, каждый тест должен быть использован каждым программистом ровно один раз каждая программа должна пройти каждый из тестов ровно один раз
Задача Столь сложный подход, естественно, потребовал составления расписания тестирования. Но так как все программисты уже заняты, фирма обратилась к Вам. Тестирование проводится за N дней. Для каждого дня, для каждого программиста следует указать упорядоченную двойку, состоящую из номера программы и номера теста. При составлении расписания следует учитывать, что каждый программист тестирует каждый день только одну программу. В один день разными программистами не могут использоваться одинаковые тесты или тестироваться одинаковые программы. Все программисты каждый день должны быть заняты. Формат входных данных Считайте из входного файла TTT.DAT единственное число N Формат выходных данных Выведите в выходной файл TTT.SOL требуемое расписание тестов. Все программисты (а также программы, тесты и дни) пронумерованы от 1 до N Например: | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | Prog 1: 2 7 Prog 2: 1 3 Prog 3: 6 2 Prog 4: 7 6 Prog 5: 3 4 Prog 6: 5 5 Prog 7: 4 1 | Prog 1: 4 5 Prog 2: 3 1 Prog 3: 1 7 Prog 4: 2 4 Prog 5: 5 2 Prog 6: 7 3 Prog 7: 6 6 | Prog 1: 3 6 Prog 2: 2 2 Prog 3: 7 1 Prog 4: 1 5 Prog 5: 4 3 Prog 6: 6 4 Prog 7: 5 7 | Prog 1: 5 4 Prog 2: 4 7 Prog 3: 2 6 Prog 4: 3 3 Prog 5: 6 1 Prog 6: 1 2 Prog 7: 7 5 | Prog 1: 7 2 Prog 2: 6 5 Prog 3: 4 4 Prog 4: 5 1 Prog 5: 1 6 Prog 6: 3 7 Prog 7: 2 3 | Prog 1: 1 1 Prog 2: 7 4 Prog 3: 5 3 Prog 4: 6 7 Prog 5: 2 5 Prog 6: 4 6 Prog 7: 3 2 | Prog 1: 6 3 Prog 2: 5 6 Prog 3: 3 5 Prog 4: 4 2 Prog 5: 7 7 Prog 6: 2 1 Prog 7: 1 4 |
|
|---|