|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.12.2012, 21:35 | #1 |
Новичок
Джуниор
Регистрация: 04.12.2012
Сообщений: 1
|
задачи в турбо паскаль
Помогите, пожалуйста, на завтра нужно решить, голова уже взрывается, от программирования...
1.Первая вообще чушь какая-то, кто такие придумывает? Все мы знаем, мафия бессмертна, но бороться с ней необходимо. Мафия организована так, что каждый ее член знает только своего непосредственно босса. ГРОМ поручил МОЗГу непростое задание. Зашифровав каждого известного члена мафии числом, будет передана имеющаяся информация о связях подчиненный-босс. Информация конечно не полная, но уже кое-что. Из этих членов банды есть те, контроль над которыми необходимо устранить, убрав их общего босса (босс босса является боссом). Но чем выше по иерархии мы ползем, тем сложнее устранить этого главаря. Поэтому нам необходим самый слабый, среди боссов. Если можно устранить босса ниже по иерархии для достижения поставленной цели, то он то нам и нужен. Формат входного файла В первой строке даны три целых числа N (1 <= N <= 1000), K (1<= 1000 <= K), M (1 <= M <= 1000). N — количество выданных нам номеров мафиози. В следующей строке K чисел — номера мафиози, которых необходимо отрезать от управления главарем. В следующих M строках по паре чисел A, B. A — босс, B — подчиненный. (0 <= A, B < N) Формат выходного файла Номер мафиози, которого необходимо устранить, либо -1, если переданной информации недостаточно, чтобы его определить. 2. Дана строка из заглавных латинских букв. Необходимо дополнить ее справа минимальным количеством букв так, чтобы строка превратилась в палиндром, и вывести результат. Формат входного файла В единственной строке дана строка S длинной до 1000 символов из заглавных латинских букв. Формат выходного файла Выведите строку-палиндром, полученную из S путем добавления латинских букв в хвост. пожалуйста, помогите |
04.12.2012, 22:35 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,678
|
Мафия... Для каждой пары:
Если подчиненного надо отрезать то если найдется еще одна пара с тем же главарем и надо отрезать подчиненного - удаляете пару из списка, иначе главарь становится тем кого надо отрезать, а пару тоже удаляете из списка. Повторять многократно. Если останется одна единственная пара отрезать-главарь - ему и конец, иначе -1. (всех, кого надо отрезать - только главари)
Благими намерениями устлана дорога на programmersforum.ru
|
04.12.2012, 23:22 | #3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Вторую задачу можно сделать так:
1. В цикле (до обнаружения конца файла) Читаем исходный файл символами. Прочитанный символ пишем в новый файл. Прочитанный символ помещаем в стек. Конец цикла. 2. В цикле (до обнаружения конца стека) Считываем символ с вершины стека. Пишем символ в выходной файл. Конец цикла. 3. Закрываем выходной файл. Пример: Если строка была из символов: абсд1234, то на выходе получим: абсд12344321дсба, которая одинаково читается с обеих сторон (палиндром) Вроде так ...
Как-то так, ...
|
04.12.2012, 23:26 | #4 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
ViktorR, "ее справа минимальным количеством букв".
Мое предложение, но для Тубро Паскаля не подойдет (у него ограничение на 255 символов в строке, вроде): 1) Считываем строку 2) Рассматриваем символ, который располагается посередине строки (пример: абвг, абвгд - красным выделены символы, с которых начинать рассмотрение) 3) Начинаем идти от этого символа в разные стороны и сравнивать символы 4) Если нашли разные - берем символ правее и повторяем 2-4, иначе (дошли до самого правого символа) печатаем исходную строку и все символы левее последнего левого рассмотренного символа Наброски (вполне могут заработать и в Турбо Паскале): Код:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 04.12.2012 в 23:48. |
|
04.12.2012, 23:33 | #5 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Да! Тут я того ...
Все куда как сложней ... Цитата:
Как-то так, ...
Последний раз редактировалось ViktorR; 04.12.2012 в 23:38. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачи. Турбо паскаль. | Virusyaga | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 05.12.2012 22:25 |
Задачи (Турбо-Паскаль) | Rast[bI]4* | Помощь студентам | 0 | 22.02.2012 23:16 |
задачи на файлы в турбо паскаль | rewq_q | Помощь студентам | 1 | 14.11.2010 16:29 |