Олимпиадные задачи (с окончившихся олимпиад), ТОЛЬКО условия и ПРОВЕРЕННЫЕ решения |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Олимпиадные задачи (с окончившихся олимпиад), ТОЛЬКО условия и ПРОВЕРЕННЫЕ решения |
zZz |
25.05.2006 19:49
Сообщение
#21
|
Пионер Группа: Пользователи Сообщений: 55 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
Вот все 6 задачек с XVIII Всероссийской олимпиады по информатике среди школьников, проходившей в Кисловодске (2006 год) ...
____.zip ( 130.77 килобайт ) Кол-во скачиваний: 3160 И официальные аннотации к их решениям: solution.zip ( 131.85 килобайт ) Кол-во скачиваний: 2940 Добавлено: "...и официальные исходные тексты правильных решений на Delphi Console и C++" (автор сообщения - Bill Gates) ru_olimp_2006_solutions.rar ( 27.59 килобайт ) Кол-во скачиваний: 2461 Сообщение отредактировано: volvo - 14.06.2006 20:14 |
skAmZ |
13.06.2006 1:36
Сообщение
#22
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Костя Репутация: 0 |
Кот в шляпе.
Был кот с волшебной шляпой, любил погадить, но вот пришло время убираться, но "Зачем работать, если есть Волшебная шляпа?", - подумал кот. Кот достает из шляпы N количество котов поменьше; размер котов, которых он достает в N+1 раз меньше размера кота. Но эти котики поменьше тоже ленивые и тоже с волшебными шляпами, в конце концов работают только самые маленькие коты размером 1, которые не чего не могу достать из своей шляпы. Входные данные (читаются из файла Input.txt): размер самого большого кота, количество работающих котов. Выходные данные (пишутся в файл Output.txt): общий размер всех котов, количество не работающих котов. Регламент: время 0.5 сек, 1 Мб, N < 1 000 000 Пусть количество работающих котов K, размер главного кота P. Все задача сводится к нахождению N, это делается не столько сложно, так как каждый раз из шляпы выходят N котов с массой N+1/(размер кота, который вытаскивает из шляпы котов), то получаем цикл: For i:=1 to 32 do begin. Цикл до 32 потому что N > 1 000 000 больше просто не может быть. Нашли N, все остальное понятное дело ищется по формуле. Тут есть 1 частный случай, когда входные данные 1 1, на выходе соответственно получаем 1 0. |
Sufix |
5.11.2006 4:52
Сообщение
#23
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Реальное имя: Денис Репутация: 0 |
Дано два числа a и b. Вывести их разность (a-b).
Входные данные Во входных данных содержатся два числа a и b, разделенные пробелом Выходные данные Выведите одно число - искомую разность. Ограничения a,b<=10 в 100 степени Поздравив ослика Иа с днём рождения (описание праздника мы пропустим), вдруг обнаружилось, что у именинника пропал хвост! Как всегда, его украл слонопотам. В сказочном лесу n селений. Некоторые из селений соединены дорогами. Время передвижения по каждой дороге, соединяющей селения, известно. Никакие две дороги не пересекаются вне селений. Благодаря новейшей системе GPS, введенной недавно в лесу, нам известно, что слонопотам сейчас находится в селении v. Иа и его гости в это время находятся в селении u. Для того, чтобы сделать именинника счастливым, необходимо срочно добраться до города v и отобрать похищенный хвост у злобного слонопотама! Помогите друзьям Иа-Иа определить минимальное время, за которое они смогут добраться до слонопотама. Входные данные: В первой строке входных данных содержатся три числа: n, u и v (1<=n<=100; 1<=u,v<=n), где n - количество селений, u - селение, в котором находятся спасители хвоста, а v - селение, в котором засел слонопотам. В следующих n строках содержится по n чисел. J-е число на строке I определяет дорогу между селениями i и j. Если это число равно -1 - то селения i и j не соединены дорогой. Если число является неотрицательным - то это означает, что между селениями i и j есть дорога, и время проезда по этой дороге равно этому числу. Заметьте, что поскольку лес - волшебный, то наличие дороги из i в j не гарантирует наличие дороги из j в i, к тому же, даже если существуют дороги в обе стороны, то время проезда по дорогам, соединяющим одни и те же селения, может различаться в зависимости от направления движения. Выходные данные Выведите искомое минимальное время или -1, если пути между селения u и v не существует. Примеры Входные данные 3 1 2 0 -1 2 3 0 -1 -1 4 0 Выходные данные 6 P.S. буду благодарен по гроб жизни, если поможете, или хотябы намекнете в сторону чего смотреть Сообщение отредактировано: Sufix - 5.11.2006 5:06 |
t3rmin@1 |
8.12.2006 20:40
Сообщение
#24
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Реальное имя: N Репутация: 0 |
Помогите плиз с задачкой.
Нужно составить расписание автобусов Есть исходный файл c:\data2.txt, в котором содержатся данные. Первая строка содержит 4 целочисленных цифры: количество остановок (не больше 100), скорость в км/ч, начало отъезда из начальной остановки в часах, четвёртая - то же самое, но в минутах. Остальные строки содержат инфо о остановках: название (длина названия - не более 15 символов) и расстояние между пунктами в км в вещественном представлении. Например: 3 60 10 15 Chicago 30.25 Detroit 27.09 Boston 10 т.е. расстояние между Chicago и начальной остановкой - 30.25, между Detroit и Chicago - 27.09 и т.д. Нужно записать данные в файл c:\data3.txt в таком виде: Сhicago 10 hr 58 min Detroit 11 hr 59 min Boston 12 hr 35 min Требования к программе: данные и результаты хранить в массиве (массивах) с элементами типов записей (type=record..end;) создать и использовать процедуру считывания данных в массих с элементами типов записей. создать и использовать процедуру для записи результата в файл использовать в программе функцию: function time(s,v:real):integer; begin time:=Trunc(s/v*60); end; где s - расстояние, пройденное автобусом, v - средняя скорость автобуса в км/ч. Самая большая проблема для меня - считать данные из файла. Хотя бы это напишите, пожалуйста |
mamont001 |
17.12.2006 12:32
Сообщение
#25
|
Вожак стада Группа: Пользователи Сообщений: 179 Пол: Мужской Реальное имя: кирилл Репутация: 1 |
Куреры
В городе X все жители очень любят пиццу .компания 3 толстяка решила на етом заработать. По всему городу на перекрестках она раставила N куреров .В городе живет M толстяков. Составить програму ,которая бы высчитала минимальное растояниекоторое должны пройти куреры. M>N 2<N<1000000 4<M<10000000000 Длинной арифметикой пользоватся запрещается!!! Формат входного файла courier.in 1 стока : N M 2 строка : кординаты всех N 3 строка : кординаты всех m Формат выходного файла courier.out X Решение (Показать/Скрыть)
Кстати у меня в примере все несколько обрезано, потому-что я не знаю как ещё обеспечить большие числа -------------------- Админ наш,
Иже еси на серверах! Да святится имя Твое, Да приидет Unix Твой, Да будет воля Твоя, Как на земле , так и на небе. Пинг наш насущный дай нам на сей день; И прости нам счета наши, как и мы оставляем их должникам нашим; И не введи нас во искушение виндовое, Но избавь нас от лукавого Билли. И да пребудет с нами сила твоя великая, Во имя Отца-админа, Сына-Пингвина, и духа мастдайного. Админь! |
ammaximus |
23.12.2006 15:09
Сообщение
#26
|
Ночной волк Группа: Пользователи Сообщений: 103 Пол: Мужской Репутация: 1 |
Час назад закончился 2 этап Росиийской олимпиады школьников по информатике. Будем ждать результатов, а пока...
Задача 1. Даны два слова А и В. Проверьте, можно ли из букв слова А составаить В. Каждый символ из А использовать не более 1 раза. Задача 2. Очки на игральных кубиках располагаются так, чтобы совпадали суммы чисел на противоположных гранях:1+6=2+5=3+4=7. Составьте программу, которая по заданному (неупорядоченному) набору из 6 целых чисел из диапазона 1 .. 10 000 проверяла бы, можно ли разместить их на гранях кубика таким образом, чтобы выполнялось это правило. Если можно - вывести сумму, иначе символ N. Пример: 1,2,3,4,5,6; Результат 7. Задача 3. Числом Армстронга называется число из n цифр, если сумма его цифр, возведенных в n-ю степень равна самому числу. Найти все n-значные числа Армстронга (1<n<10). Пример: 153=1^3+5^3+3^3 - число Армстронга. Задача 4. Числа от 1 до n расставлены по кругу. Вычеркиваем каждое второе число, начиная с 1. Написать программу, которая определит какое число останется последним и напечатает его. Исходное натуральное число - 1<n=<=1 000 000. Общий случай: определите количество шагов для произвольного числа. -------------------- Не думай о белой обезьяне.
|
Vinchkovsky |
10.01.2007 20:04
Сообщение
#27
|
Пионер Группа: Пользователи Сообщений: 98 Пол: Мужской Реальное имя: Andriy Репутация: 0 |
Задача 1 (Показать/Скрыть)
Задача 2 (Показать/Скрыть)
Задача 3 (не оптимизированная) (Показать/Скрыть)
____________________________________________________________________ Задача 2 (20 баллов из 130, 2 этап Всеукраинской школьной олимпиады) Городок состоит из n домов, которые стоят вдоль прямого шоссе на одном расстоянии один от одного. В городке проводят телефонное подключение, в каждом доме нужно поставить k (0<=k<=30000). В первом рядке файла TEL.DAT содержится количество домов (1<=n<=1000). В следующем рядке через пропуск - количество телефонов, которые должны быть установлены в домах. Вывести на экран и в первый рядок файла TEL.SOL номер дома, в котором нужно поставить АТС, чтобы общее количество кабеля от каждого телефона к АТС было минимальным. Если таких домов несколько, то написать их в порядке увеличения через пропуск. Каждый телефон соединен отдельным кабелем. Если телефон находится в том доме, что АТС, то считать, что кабеля не ведем. Пример входных данных: 5 1 2 3 2 1 Пример выходных данных: 3 |
Zzzz... |
19.02.2007 16:45
Сообщение
#28
|
/// Группа: Пользователи Сообщений: 78 Пол: Мужской Реальное имя: Илья Репутация: 0 |
Задача A. Закон Амдала
Имя входного файла: amhdal.in Имя выходного файла: amhdal.out Ограничение по времени: 2 секунды Ограничение по памяти: 64 мегабайта Параллельное программирование изучает методы построения программ, которые будут выполняться на нескольких процессорах. В результате решения одной из первых задач этого раздела информатики появился закон Амдала. Задача Амдала формулировалась так. Имеется n процессоров и p процентов вычислений не могут выполняться параллельно. Во сколько раз быстрее можно выполнить вычисления по сравнению с одним процессором? Например, если n = 10, p = 50, а на одном процессоре все вычисления выполняются за время t. Тогда первая половина вычислений (50%) будет выполнена за время t / (2•10) , а вторая — за время t / 2. Общее время вычислений в этом случае составит t / 2 + t / 20 = 11•t / 20, а ускорение по сравнению с одним процессором составит 11 / 20 раза. Если же n = 10, p = 25, и на одном процессоре все вычисления выполняются за время t. Тогда 75% вычислений будут выполнены за время 3•t / (4•10) , а оставшиеся 25% — за время t / 4 . Общее время вычислений в этом случае составит t / 4 + 3•t / 40 = 13•t / 40 , а ускорение по сравнению с одним процессором составит 40/13 раза. Даны числа n и p. Напишите программу, решающую задачу Амдала. Формат входного файла Входной файл содержит два целых числа n (1 ≤ n ≤ 1000) и p (0 ≤ p ≤ 100). Формат выходного файла В выходной файл выведите ответ на задачу с точностью не хуже 10−6. Примеры amhdal.in amhdal.out 10 50 1.818181818 10 25 3.076923077 1000 100 1.00000000000 1000 0 1000.000000000 239 30 3.301104972 777 55 1.816269285 Задача B. Биатлон Имя входного файла: biathlon.in Имя выходного файла: biathlon.out Ограничение по времени: 2 секунды Ограничение по памяти: 64 мегабайта На Зимних Олимпийских Играх традиционно проводятся соревнования по биатлону. Как известно, этот вид спорта содержит лыжные гонки и стрельбу по мишеням из винтовки. На каждом огневом рубеже расположены 5 мишеней. Каждая из них имеет форму круга радиусом 10 см, а расстояния между центрами соседних мишеней одинаковы и равны 25 см. Центры мишеней при этом расположены на одной горизонтали. Введем прямоугольную систему координат так, что начало координат расположено в центре самой левой мишени, ось Ox направлена вправо, а ось Oy — вверх. Таким образом, центры мишеней имеют координаты (0, 0), (25, 0), (50, 0), (75, 0) и (100, 0). Для информационного обеспечения проведения соревнований было решено разработать систему подсчета количества пораженных мишеней. Эта система по точкам, в которые попали пули после выстрелов спортсмена, должна определять количество пораженных мишеней. Мишень считается пораженной, если в нее попала хотя бы одна пуля (при этом, разумеется, если в мишень попали две или больше пуль, то попадание считается только один раз). На спринтерской гонке на каждом огневом рубеже у спортсмена есть 5 пуль. Вам даны координаты точек, в которые попали пули после выстрелов спортсмена. Определите количество пораженных мишеней. Формат входного файла Входной файл содержит ровно пять строк: i-ая из них содержит два целых числа xi и yi — координаты точки, в которую попала пуля после i-ого выстрела спортсмена. Все числа во входном файле не превосходят 1000 по модулю. Формат выходного файла В выходной файл выведите единственное число — количество пораженных мишеней. Примеры biathlon.in biathlon.out 0 0 \ 5 25 0 \ 50 0 \ 75 0 \ 100 0 \ ______________________ 0 0 \ 3 0 0 \ 0 0 \ 75 0 \ 100 0 \ Задача C. Список Имя входного файла: list.in Имя выходного файла: list.out Ограничение по времени: 2 секунды Ограничение по памяти: 64 мегабайта В наше время создатели офисных приложений стараются сделать все для удобства пользователя. Поэтому даже такая мелочь, как представление на экране списков чисел — например, для вывода номеров страниц, — должна быть тщательно проработана. Вы должны реализовать функцию, которая по заданному набору целых чисел будет формировать строку, являющуюся его самым коротким текстовым представлением. Текстовое представление — строка, состоящая из разделенных запятыми чисел и диапазонов чисел вида «a, ..., b», которые используются для записи набора всех чисел от a до b. При этом все числа, входящие в строку должны быть упорядочены по возрастанию в том порядке, в котором они встречаются в строке. Формат входного файла В первой строке входного файла содержится целое число n (1 ≤ n ≤ 1000) — размер набора. Вторая строка содержит n задающих набор целых чисел, по абсолютной величине не превосходящих 10000, разделенные пробелами. Одно число может встречаться в этом описании несколько раз. Формат выходного файла В первой строке выходного файла запишите одно из кратчайших текстовых представлений заданного набора чисел. Следите за правильной расстановкой пробелов. Выходной файл в примере содержит ровно три пробела. Примеры list.in list.out 7 1 3 5 -1 3 4 6 -1, 1, 3, ..., 6 Сообщение отредактировано: Zzzz... - 19.02.2007 16:49 |
Bard |
15.03.2007 8:06
Сообщение
#29
|
Учиться, учиться еще раз учиться Группа: Пользователи Сообщений: 158 Пол: Мужской Реальное имя: Яшар Репутация: 3 |
Телефонный номер называется «шахматным», если его цифры набираются на телефонном кнопочном номеронабирателе ходом шахматного коня. Написать программу, подсчитывающую, сколько можно набрать различных семизначных «шахматных» номеров, начинающихся с заданной цифры. Я надеюсь что сделал эту прогу... 1 2 3 А вот и решение: (Показать/Скрыть)
-------------------- Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё |
Рыжик |
29.04.2007 20:01
Сообщение
#30
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
"Задача о восьми ферзях"
На шахматной доске 8 на 8 нужно расположить 8 ферзей так,что бы они не били друг друга. Формат ответа: Порядковый номер клетки снизу-вверх: 14747256 так расположено в файле Эскизы прикрепленных изображений |
Dmitriy |
3.05.2007 1:12
Сообщение
#31
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Dima Репутация: 0 |
Автобусные билеты в рулоне пронумерованы от 000001 до 999999. Составить программу, выводящую на экран количество и номера (в несколько столбиков) всех счастливых билетов в некотором диапазоне, организовав запрос начального и конечного номера билета диапазона. Примечание: Счастливым считать тот билет, у которого сумма первых трех цифр равна сумме трех последних. Решение: (Показать/Скрыть)
|
Postman |
11.07.2007 16:45
Сообщение
#32
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Мужской Реальное имя: Максим Репутация: 0 |
Задача "Вирус"
Имя входного файла: Input.txt Имя выходного файла: Output.txt Колония клеток представляет собой квадратную матрицу порядка N (N<500). В колонию проникает M (M<11) вирусов, которые поражают клетки с координатами (X1,Y1), ... ,(Xm,Ym). За одну единицу времени вирус проникает в клетки, соседние с зараженными (соседними считаются клетки, имеющие общую сторону). Требуется написать программу, которая определит время заражения всей колонии. Входные данные Формат входных данных: 1 строка - N 2 строка - M 3 строка - X1 Y1 4 строка - X2 Y2 ... M+2 строка - Xm Ym Выходные данные В выходной файл запишите число - время заражения. Пример входного файла 5 2 1 2 5 5 Пример выходного файла 4 |
kornet |
14.07.2007 14:38
Сообщение
#33
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юлиан Репутация: -1 |
Цитата Автобусные билеты в рулоне пронумерованы от 000001 до 999999. Составить программу, выводящую на экран количество и номера (в несколько столбиков) всех счастливых билетов в некотором диапазоне, организовав запрос начального и конечного номера билета диапазона. Примечание: Счастливым считать тот билет, у которого сумма первых трех цифр равна сумме трех последних. Решение: (Показать/Скрыть)
Цитата На судоверфь для докового ремонта пришли пять судов А, В, С, D, Е. В доке судоверфи может находиться только одно судно. Необходимое время стоянки в доке каждого судна различно и составляет соответственно МА, МВ, МС, MD и МЕ. Составить программу, определяющую и выводящую на экран очередность постановки судов в док, при которой суммарные потери от простоя судов минимальны. Решение: (Показать/Скрыть)
|
мисс_граффити |
15.09.2007 13:00
Сообщение
#34
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Олимпиада еще не кончилась, решения будут принимать до 15.00... Но вряд ли за час кто-то кинется выкладывать свои мысли, поэтому размещу условия.
1. В шар радиуса R помещается кубическая решетка с размером ячейки 1. Один из узлов решетки совпадает с центром шара. Таким образом, самый удалённый от центра узел может находиться на расстоянии, не большем R.Требуется определить, сколько узлов решетки попадают внутрь шара. 2. Имеется набор из N десятичных цифр (3<=N<=19). Требуется найти все возможные варианты равенства вида: A * B = C, где A, B и C – числа, составленные из этих цифр. В каждом примере умножения должны быть использованы все цифры набора, причем каждая – ровно один раз. Запись числа не может начинаться с цифры 0, за исключением числа ноль. 3. Робот “Суперслизень-2007” ползает по плоскости, оставляя за собой тонкий след краски. Движение робота описывается его программой – строкой из команд N, W, S, E. По команде N робот проползает один метр в северном направлении, по команде W – один метр в западном направлении, S – один метр южном направлении, E – один метр в восточном направлении. Программа составлена так, что путь робота начинается и заканчивается в одной точке; кроме неё, ни в одной другой точке плоскости робот не бывает больше одного раза. Необходимо найти площадь участка, границей которого служит след Суперслизня после завершения роботом программы. Задачи взяты отсюда. От 1 и 3 потом выложу свои решения, а вот вторую толком не решила (перебор - это не решение. да и по времени не укладывается в разрешенные 20сек)... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Zzzz... |
29.10.2007 16:25
Сообщение
#35
|
/// Группа: Пользователи Сообщений: 78 Пол: Мужской Реальное имя: Илья Репутация: 0 |
Это задачи с VIII Всероссийской командной олимпиады школьников по программированию (ВКОШП)
Прикрепленные файлы problems.pdf ( 187.52 килобайт ) Кол-во скачиваний: 2803 |
mega111 |
5.11.2007 8:57
Сообщение
#36
|
Гость |
Известный скульптор решил создать монумент под названием "Мост между Востоком и Западом". "Мост" он решил выложить из блоков, оставшихся посл разборки Берлинской стены, а по краям "Моста" постановить 20-метровые аллегорические фигуры Востока и Запада. "Мост " должен выглядить как лестниц, сначала растущая на 1 фунт от ступеньки к ступеньке, затем убывающая таким же образом.
Каждая ступенька представляет собой штабель *параллелипипед) из положенных друг на друга блоков гранями с одинаковыми размерами. Разные ступеньки могут иметь разную ширину и длину, так как блоки можно ставит друг на друг тремя способами. Чтобы "Мост" не терялся на фоне гигантских скульптур, его высота должная быть как можо больше, а сред вариантов с одинаковой максимальной высотой предпочтительней вариант с большей длиной. Напишите программу, которая вычислит максимальную высоту и длину моста по количеству имеющихся блоков и их размерам. После строительства "моста" может остаться несколько лишних блоковю Ввод содержит три целых числа N (1<=N<=5000) W (1<=W<=50) H )1<=H<=50) -количество имеющихся в наличии блоков, ширина и длина блока в футах )толщина блока равна 1 фут)ю\Вывести два целых числа - максимальную высоту моста и его длиную Пример ввода 5 10 20 ПВывод для примера: 2 60 P.s. в задаче ввод данных производиться из файла INPUT.TXT а вывод результата в файл OUTPUT.TXT.Формат ввода соответсвует спецификации |
renesko |
2.12.2007 14:54
Сообщение
#37
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: 0 |
A. Треугольники
На плоскости расположено N невырожденных треугольников. Найдите точку плоскости, которая покрывается наибольшим количеством треугольников. Если таких точек несколько, достаточно найти любую из них. Точка покрывается треугольником, если она лежит внутри него, либо на его границе. Треугольник задается координатами своих вершин. Ограничение на N поставьте сами. B. Волшебные вектора Назовем упорядоченный по неубыванию набор из N натуральных чисел волшебным N-вектором, если сумма этих чисел равна их произведению. Задано число N. Найдите все волшебные N-вектора. Например, существует 3 волшебных 5-вектора: 1 1 1 2 5 1 1 1 3 3 1 1 2 2 2 Ограничение на N поставьте сами. C. Интервалы Петя совершил хакерский налет на сервер компании Macrohard, в результате чего ему достался объектный файл, в котором содержится скомпилированный код некоторой функции secret. Эта функция берет в качестве параметра целое число и возвращает 0 либо 1. Петя решил исследовать эту функцию и выяснить, что она делает. С этой целью он хочет вызвать ее для всех чисел от 1 до 106 и те значения параметра, на которых функция выдает 1 вывести на экран. Однако, поскольку количество различных чисел, которые придется вывести на экран может оказаться очень велико, то Петя хочет выводить их в виде интервалов подряд идущих чисел, причем если интервал имеет длину 1, то выводить только одно число. Например, вместо 1,3,4,5,6,7,8,10,12,20,21,22,23,24,… Петя хочет выводить 1,3-8,10,12,20-24,… Напишите программу, которая выведет значения параметра, на которых функция выдает 1, в нужном формате. Считайте, что Ваш язык программирования дополнен функцией secret: function secret(x: longint): integer; int secret(long int x); function secret(x as long) as integer Помните, что компьютер, на котором Петя запустит свою программу довольно слабый, и у него мало оперативной памяти, поэтому хранить все значения, на которых функция вернет 1 в памяти даже в виде интервалов может оказаться невозможным. D. Наименьшее кратное подмножество Задано множество из N натуральных чисел: . Требуется найти такое минимальное положительное M, чтобы можно было выбрать M чисел из заданного множества так, чтобы их сумма делилась на N. Например, для множества из пяти элементов 1 3 1 7 1 M=2, т.к. можно выбрать 2 числа (3 и 7), сумма которых 3+7=10 делится на N=5, а одно число кратное 5 выбрать нельзя. Задано число N1000 и числа . Найти соответствующее минимальное положительное M, либо выяснить, что такого M не существует, т.е. нельзя выбрать из заданного множества несколько чисел, чтобы их сумма делилась на N. E. K двоичных единиц Найдите количество чисел Z, удовлетворяющих неравенству , таких, что в записи двоичного разложения Z используется ровно единиц. ( , ) Например, если A=10; B=20; K=2, то таких чисел 5 (это числа 10=10102; 12=11002; 17=100012; 18=100102; 20=101002). Помните, что перебор всех чисел неэффективен, так как при данных ограничениях занимает слишком много времени. F. Частотный анализ Дан текст, в котором встречаются слова, состоящие из букв русского и латинского алфавитов и цифр, знаки препинания, пробелы и переводы строк. Требуется найти количество вхождений каждого слова в этот текст и вывести слова отсортированными по невозрастанию этого количества. Для каждого слова при выводе в скобках указать количество его вхождений в текст. Например, для текста один, два - это 2, три один два, много слов один надо вывести один(3) два(2) это(1) 2(1) три(1) много(1) слов(1) Слова, которые встречаются в тексте одинаковое количество раз, должны быть выведены в том порядке, в котором они впервые встречаются в тексте. другие задачи и коментарии здесь------------> _________Microsoft_Word.doc ( 68.5 килобайт ) Кол-во скачиваний: 2189 |
James Montegry |
10.12.2007 18:54
Сообщение
#38
|
l'imbecile divin ^_^ Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Помогите, кто чем может, плиз, очень нужно.
1. Написать программу, которая будет находить в последовательности целых числ все ее симметрические участки максимальной длинны. Условия: Программа должна ввести с клавиатуры сначала число N - количество элементов в последовательности. Далее, в одну строчку через пробел N целых чисел - значения элементов. Программа должна показать на экране в первой строчке длинну найденых цепочек, в второй их количество, далее, в какой последовательности расположены первое и последнее числа цепочки. Вход: 10 21 1 2 2 1 3 4 5 5 4 выход: 4 2 2 5 7 10 2. Район Глупхеттен имеет форму точного квадрата ы разделенный улицами на квадратные кварталы. Улиц каждого вида есть 2N+1 (з координатами от (-N) до N). Глупхеттенцы любят проводить гонки по квадратной спирали. Старт гонок всегда размещают в центре с коорданатами (0;0), траса идет сначала 1 квартал на север, потом 1 квартал на восток, два квартала на юг и т.д. Нужно написать программу, которая решит такую задачу: два перекрестка заданые своими (х,у)-координатами, нужно найти длинну пути между этими перекрестками в доль гоной трассы. Программа должна прочитать входные данные с текстового файла, который имеет в первой строчке число N, которое задает размеры Глупхеттена, а во втором и в третьем - по паре целых чисел, что задают координаты перекрестков. Нужно ввести в другой текстовый файл единственную строчку - найденную длиннупути между перекрестками. Вход: 5 2 1 3 1 Выход: 19 |
James Montegry |
27.01.2008 21:14
Сообщение
#39
|
l'imbecile divin ^_^ Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Центральный сад страны Олимпия настолько большой, что один садовник не в силах его обслуживать. Было принято решение разделить сад на две части. Определенные деревья будут отнесены к первой части, а оставшиеся – ко второй. Одна из частей сада может остаться пустой.
Между каждой парой деревьев в саду протоптаны тропинки. Когда садовники идут от дерева к дереву, они обязательно идут по тропинке соединяющей непосредственно эти два дерева. Длина тропинки одинакова при перемещении в обе стороны. Для упрощения работы садовников, разделение решили проводить так, чтобы длина самой длинной тропинки между парой деревьев, принадлежащих одной и той же части, была минимальна. Задание Напишите программу TREES, которая по информации о длинах тропинок между всеми парами деревьев находит длину самой длинной тропинки между деревьями из одной части сада, при оптимальном разделении сада на части. Входные данные Первая строка входного файла TREES.DAT содержит целое число N (2≤N≤1000) – количество деревьев в саду. Каждая i-ая из последующих N-1-ой строк содержит N-i чисел, которые последовательно представляют длины тропинок между i-ым деревом и деревьями с i+1-го до N-го. Все числа целые, неотрицательные, и не превышают 106. Выходные данные Единственная строка выходного файла TREES.SOL должна содержать одно целое число – минимальную для всех возможных разбиений сада длину самой длинной тропинки между деревьями в одной из частей сада. Пример входных и выходных данных TREES.DAT 3 1 5 1 TREES.SOL 1 Поможет кто-нить решить эту задачу? |
Mazer |
12.02.2008 20:18
Сообщение
#40
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
Здравствуйте. Помогите пожалуйста решить такую вот задачу:
При посадке на поверхность планеты Колонния, представляющей собой бесконечную плоскость с введенной на ней декартовой системой координат, десантник Шагаев оказался в точке (xd,yd). Вообще-то, ему хотелось бы оказаться в точке (xb,yb), где расположена база, поэтому он направился туда кратчайшим путем. Дело осложняется тем, что на поверхности планеты от прежней цивилизации остались N колонн прямоугольного сечения со сторонами, параллельными осям координат (которые, собственно, и вводились из этих соображений). Известны координаты двух противоположных вершин каждой из колонн: (xi1,yi1) и (xi2,yi2). Известно, что прямоугольники колонн имеют ненулевую площадь и что у каждой пары разных колонн нет общих точек. Конечно, Шагаев не может проходить сквозь колонны, но может двигаться вплотную к их вертикальным стенам. Начальная и конечная точка маршрута находятся вне этих колонн. Какое наименьшее расстояние должен пройти десантник, чтобы достигнуть цели? Формат ввода: первая строка входного файла содержит числа xd, yd, xb, yb - координаты десантника и базы. Вторая строка содержит число n - кол-во колонн(0=<n=<40). Следующие n строк содержат описания колонн: в строке с номером i+2 содержаться координаты xi1, yi1,xi2, yi2. Все координаты являются целыми числами, по модулю не превосходящими 10000. Числа в строках разделяются пробелами. Формат вывода: В первой строке выходного файла должно содержаться единственное вещественное число - длина кратчайшего пути с точностью до трех знаков после запятой. Пример1: input.txt output.txt 1 0 2 0 1.00000 0 Пример2: input.txt output.txt 1 0 2 0 3.8284271 1 0 -1 1 1 Вся моя проблема в том, что я не понимаю как не проверять те ветки, в которые Шагаев идти не может(если стоит две колонны, то при обычном переборе от начальной точки до угла второй колонны потянется ребро, что невозможно, т.к. Шагаев не может идти сквозь первую колонну). Вообще нужно написать консольное приложение на Delphi 7, но мне важен только тот момент, где через графы ищется мин. путь. Всем заранее спасибо, надеюсь на вашу помощь. |
Текстовая версия | 16.11.2024 2:21 |