У меня намечается городской этап олимпиады по программированию, там можно выбрать из нескольких языков прог., я выбрал PHP.
Собственно, проблема:
Есть задание:
Школа №666 выиграла грант, и на полученные средства заказала фирме «Пупкин-Инвест» создание общешкольной компьютерной сети. В школе всего N компьютеров, поэтому фирме заказали проложить N-1 соединительный кабель так, чтобы любой из компьютеров оказался связан по сети с любым другим. К несчастью, как сам Пупкин, так и все сотрудники его фирмы учились ранее в школе №666. Поэтому, когда все соединительные кабели были уложены и подключены к компьютерам, выяснилось, что далеко не все компьютеры «видят» друг друга. Когда руководство школы взглянуло на отчёт, представленный фирмой, оно с ужасом обнаружило, что фирма соединила кабелями первые попавшиеся компьютеры, поэтому вместо единой школьной сети получилось много маленьких локальных сетей. Теперь нужно срочно определить, сколько ещё кабелей необходимо уложить, чтобы получилась общешкольная сеть.
Вход
В первой строке входного файла записано натуральное число N – количество компьютеров (2 <= N <= 1000). В следующих N-1 строках записаны пары чисел u, v – номера компьютеров, которые сейчас соединены кабелями (1 <= u, v <= N). Никакая пара компьютеров не соединена более чем одним кабелем. Ни к какому компьютеру не подключено более 10 кабелей.
Выход
Запишите в выходной файл минимальное количество дополнительных кабелей.
КАК такое можно вообще реализовать на php?
Не думайте, что я нуб просто я не привык решать проблемы, которые у меня ассоциируются с прикладными программами, на серверном языке.
Может кто-нибудь уже решал подобные проблемы(возможно кто-то и в олимпиаде такой учавствовал:)), и сможет разьяснить алгоритм...
Спустя 22 минуты, 56 секунд (27.11.2011 - 13:43) inpost написал(а):
А тут программированию нет места! Математика и банальная формула.
Спустя 6 минут, 59 секунд (27.11.2011 - 13:50) Placido написал(а):
Вам сюда, как я понимаю. Всего-то посчитать количество сочетаний из N по 2 и вычесть количество проложенных кабелей (пар соединенных компьютеров). А формулу факториала можно написать на любом языке.
Спустя 1 минута, 13 секунд (27.11.2011 - 13:51) Invis1ble написал(а):
школа #666....

Спустя 34 минуты, 23 секунды (27.11.2011 - 14:26) Xsoo написал(а):
Спасибо за ответы!
Я еще помозгую.
Я еще помозгую.
Спустя 1 минута, 33 секунды (27.11.2011 - 14:27) Xsoo написал(а):
Кстати - насчет "программированю нет места" - по задаче нужно написать прогу которая сохраняет результ в файл)
Спустя 1 час, 21 минута, 27 секунд (27.11.2011 - 15:49) inpost написал(а):
Xsoo
Для тебя проблемно воспользоваться штатными функциями file в языке программирования php ? Так зачем тогда подписался на пхп?
Для тебя проблемно воспользоваться штатными функциями file в языке программирования php ? Так зачем тогда подписался на пхп?

Спустя 11 дней, 17 часов, 48 минут, 52 секунды (9.12.2011 - 09:38) Michael написал(а):
Цитата (inpost @ 27.11.2011 - 12:43) |
А тут программированию нет места! Математика и банальная формула. |
ну ты жжешь


Да тут только одно программирование и есть.
Это задача из теории графов. Нужная сеть - это Связный граф. Вот по этому и гугли алгоритмы решения, если самому подумать не получается. Вот например что то близкое.