1. Владения рыцаря
Входные данные: с клавиатуры
Выходные данные: на экран
Ограничение по времени: 2 сек
Оценка: 30 балов
Английская система мер:
1 миля = 1760 ярдов
1 ярд = 3 фута
1 фут = 12 дюймов
1 дюйм = 12 линий
Джон купил новый замок и послал 2-х слуг измерить периметр своего владения. Один измерил длину, другой ширину. Периметр является точным прямоугольником. Необходимо подсчитать периметр территории замка. Известно, что кол-во миль в каждом измерении не превышало 10000(периметр прямоугольника мог получиться больше).
Требуется написать программу, которая подсчитывает периметр.
Формат входных данных
Ввод производить в виде 2-х строк. В каждой из строк записан результат измерения слуги. При этом каждая величина записана в формате:
M Y F D L, где M (0<=M<=10000)-мили, Y(0<=Y<=1760)-ярды, F(0<=F<=3)-футы, D(0<=D<=12)-дюймы, L(0<=L<=12)-линии. (Отсутствующее число заменяется 0).
Формат выходных данных
На экран вывести периметр в приведенном виде( то есть кол-во ярдов должно быть меньше 1760, футов – 3, дюймов и линий – 12). При выводе использовать сокращенные названия мер, заканчивающиеся точкой.
Миля-мл., ярд-ярд., фут-фт., дюйм-дм., линия-лн.
Пример:
1 3 2 11 0 24 мл. 7 ярд. 2 фт. 10 дм. 0 лн.
11 0 0 0 0
2. Железнодорожная
Входные данные: из файла SOSTAV.DAT
Выходные данные: на экран
Ограничение по времени: 2 секунды
Оценка: 35 баллов
................................................................ / С
.............................................................. /
............................................................./
..Паравоз-вагон-вагон-вагон-вагон../
А--------------------------------------------/----------------------В
К этому разъезду подходит состав(не более 255 вагонов). Состав толкает паровоз. Каждый вагон в составе окрашен в один из 3-х цветов (красный - «К», белый – «В», зеленый – «С»). Известно, что в составе имеется хотя бы по одному вагону каждого цвета. Машинисту необходимо собрать три одноцветных состава, сцепить их вместе и приготовиться к движению в направлении А. Машинист может отцепить любое кол-во вагонов от хвоста, подцепить некоторые оцепленные вагоны к хвосту. Так же машинист может заехать в тупик С или В, а потом вернуться. Заезд в какой-либо тупик и возвращение на путь А считается одной поездкой.
Например, состав состоит из 4-х вагонов КСВК. Для сборки трех составов машинист заезжает в тупик С, оцепляет последний вагон, возвращается. Далее заезжает в тупик В, оцепляет 2 последних вагона, возвращается на путь А. Потом снова заезжает в тупик С, сцепляет оставленный в тупике вагон с тем, который остался, возвращается на путь А. Последним действием едет в тупик С, сцепляет все вагоны, возвращается на путь А. Итного за 4 поездки состав выглядит так: ККСВ. Что и нужно было получить.
Требуется напистаь программу, которая вычисляет, какое минимальное кол-во поездок необходимо совершить машинисту для того, что бы сформировать три одинаковых состава.
Формат входных данных
Ввод производится из файла в виде строки символов, описывающее расположение вагонов по цветам.
Формат выходных данных
Вывод производить на экран в виде целого числа- кол-ва поездок.
Пример:
КСВК 4
3. мешок монет
Входные данные: с клавиатуры
Выходные данные: на экран
Ограничение по времени: 2 секунды
Оценка: 35 баллов
В мешке лежит несколько монет неизвестных номиналов. Монеты бывают:
Однокопеечные(вес одно монеты равен w1)
Пятикопеечные(--//-- w2)
Десятикопеечные(w3)
Пятидесятикопеечные(w4)
Известно, что пустой мешок весит ровно столько, сколько весит одна однокопеечная монета. Мешок с монетами взвесили.
Требуется написать программу, которая по данному весу мешка с монетами определяет максимально возможную суммарную стоимость монет в мешке.
Формат входных данных
С клавиатуры в первой строке вводится целое число W – общий вес мешкас монетами (0<W<=10000). Во второй строке вводятся 4 числа через пробел – вес однокопеечной, пятикопеечной, десятикопеечной, пятидесятикопеечной монеты соответственно(0<w1, w2, w3, w4<=W). Входные данные корректны то есть из монет заданного веса всегда можно получить общий вес монет в мешке.
Формат выходных данных
Вывести на жкран одно число – максимально возможную стоимость монет( в копейках), находящихся в мешке.
Пример:
11 205
1 2 3 4
100 4900
2 1 1 1
М | Тема разделена... Как только (и если...) обсуждение будет закончено, условие и решения будут перенесены в тему "Олимпиадные Задачи". volvo |
uses crt;
type
TLength = record
m, y, f, d, l: LongInt;
end;
function Add(const A, B: TLength): TLength;
var
temp, toNext: LongInt;
begin
temp := (A.l + B.l) * 2;
toNext := temp div 12;
Add.l := temp - toNext * 12;
temp := (A.d + B.d) * 2 + toNext;
toNext := temp div 12;
Add.d := temp - toNext * 12;
temp := (A.f + B.f) * 2 + toNext;
toNext := temp div 3;
Add.f := temp - toNext * 3;
temp := (A.y + B.y) * 2 + toNext;
toNext := temp div 1760;
Add.y := temp - toNext * 1760;
Add.m := (A.m + B.m) * 2 + toNext;
end;
var
L1, L2, L: TLength;
begin
clrscr;
write('L1.L = '); readln(L1.l);
write('L1.D = '); readln(L1.d);
write('L1.F = '); readln(L1.f);
write('L1.Y = '); readln(L1.y);
write('L1.M = '); readln(L1.m);
writeln;
write('L2.L = '); readln(L2.l);
write('L2.D = '); readln(L2.d);
write('L2.F = '); readln(L2.f);
write('L2.Y = '); readln(L2.y);
write('L2.M = '); readln(L2.m);
L := Add(L1, L2);
writeln;
writeln('L.M = ', L.M);
writeln('L.Y = ', L.Y);
writeln('L.F = ', L.F);
writeln('L.D = ', L.D);
writeln('L.L = ', L.L);
readln;
end.
там вводится строка...
и очень хочется учивить решение второй =)
3-ю решил