простые задачи
- «Многотомник » – 100 баллов
Многотомное собрание сочинений (не более 32 томов) стоит в произвольном порядке на полке. Разрешается брать любой том, и ставить его последним. Составить программу, которая определяет наименьшее число перестановок необходимое для того, чтобы упорядочить слева направо собрание сочинений, состоящее из n томов.
Ваша программа должна
- запросить или прочитать из файла .in число томов;
- запросить или прочитать из того же файла начальный порядок томов;
- найти и вывести на экран или в файл . наименьшее число перестановок, которое необходимо для упорядочения собрания сочинений.
Пример:
Число томов 5 Начальный порядок томов 3 2 4 1 5
Минимальное число перестановок 4.
При . Исходный текстовый файл order.in содержит в первой строке одно число n – количество томов в собрании. В второй строке n – чисел. Соседние числа разделены ровно одним пробелом. Выходной текстовый файл order.out должен в первой строке содержать единственное число – ответ.
Задание 1. «Многотомник» – 100 баллов
Тест | Исходные данные (файл order.in) | Ответ |
1 |
5 5 4 3 2 1 |
4 |
2 |
7 1 7 2 6 3 5 4 |
3 |
3 |
10 8 9 10 1 2 3 4 5 6 7 |
3 |
4 |
15 1 12 2 15 13 14 3 4 11 10 5 6 8 9 7 |
8 |
5 |
20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
0 |
var i,el,n,nom_el,kol_vo:integer;
begin
kol_vo:=0;nom_el:=1;
read(n);
for i:=1 to n do begin
read(el);
if el=nom_el
then nom_el:=nom_el+1
else kol_vo:=kol_vo+1;
end;
write(kol_vo);
end.
Задача 1. Речные гонки
Имя входного файла: | river.in |
Имя выходного файла: | river.out |
Ограничение по времени: | 1 секунда |
Ограничение по памяти: | 64 мегабайта |
Егор и Петр участвуют в речной гонке на лодках: участники одновременно стартуют в пункте A и должны проплыть против течения реки в пункт B. Тот, кто приплывет первым, объявляется победителем. В результате жеребьевки Егору и Петру выпало участвовать в одном заплыве. Нам известны скорости движения лодок ребят и скорость течения реки. Ваша задача – определить, кто же из них победит.
Формат входного файла
В первой строке ввода содержатся три целых числа: V1 – скорость лодки Егора, V2 – скорость лодки Петра и V3 – скорость течения реки (0 ≤ V1, V2, V3 ≤ 106).
Формат выходного файла
Выведите одну строку, содержащую следующий текст:
- "EGOR", если первым приплывет Егор;
- "PETR", если первым приплывет Петр;
- "RIVER", если победителя определить не удалось.
Пример входных и выходных файлов
river.in | river.out |
10 5 1 | EGOR |
4 5 2 | PETR |
6 6 2 | RIVER |
Задача 1. Речные гонки (100 баллов)
№ | Исходные данные | Правильный ответ | ||
1 | 10 5 1 | EGOR | ||
2 | 4 5 2 | PETR | ||
3 | 6 6 2 | RIVER | ||
4 | 100 1 2 | EGOR | ||
5 | 4 50 10 | PETR | ||
6 | 3 3 3 | RIVER | ||
7 | 10 12 20 | RIVER | ||
8 | 1000000 1000000 100 | RIVER | ||
9 | 100 1000000 10 | PETR | ||
10 | 1000000 100000 10000 | EGOR | ||
Program Gonki;
var a,b,c : integer;
begin
read(a);
read(b);
read(c);
if not((c > a) and (c > b)) then
begin
if a - c > b - c then writeln('EGOR');
if a - c < b - c then writeln('PETR');
if a - c = b - c then writeln('RIVER');
end;
if (c > a) and (c > b) then
writeln('RIVER');
end koreapills.com.
program z1;
var
v1, v2, v3: integer;
begin
readln(v1, v2, v3);
if (v3 > v1) and (v3 > v2) then writeln('RIVER')
else begin if(v1 - v3) > (v2 - v3) then
writeln('EGOR');
if(v1 - v3) < (v2 - v3) then
writeln('PETR');
if (v1 - v3) = (v2 - v3) then
writeln('RIVER');
end;
end.
«Хоккей» – 100 баллов
Финал чемпионата проводился по новой системе: две команды, вышедшие в него должны сыграть между собой n матчей (n £ 16). За победу в каждом матче команда получает 2 очка, за ничью – 1 очко, за поражение – не получает. При равенстве очков в n матчах победитель определяется по лучшей разности забитых и пропущенных шайб, а если эта разность у обеих команд равна нулю, то обе команды считаются победителями
Входные данные
Входной файл task1.in содержит в первой строке число матчей n, а в каждой из последующих n строк находится по два целых числа a и b – итоговый счет в соответствующем матче. а – количество шайб, забитых первой командой, b – количество шайб, забитых второй командой. (0 ≤ a,b ≤ 100).
Выходные данные
Выходной файл task1.out должен содержать номер выигравшей команды, в случае равенства очков и разности шайб следует вывести 0.
Примеры:
task1.in | task1.out |
4 6 7 3 5 9 11 12 12 |
2 |
3 14 5 15 8 2 20 |
1 |
2 5 6 6 5 |
0 |
Тест | task1.in | task1.out |
1 |
2 2 1 5 6 |
0 |
2 |
4 1 0 5 2 4 4 2 10 |
1 |
3 |
6 1 1 2 2 3 4 5 3 7 6 0 1 |
1 |
4 |
6 1 1 2 2 3 4 5 3 7 6 0 1 |
2 |
5 |
10 7 2 5 4 0 5 8 6 1 1 4 4 4 3 3 9 2 9 1 5 |
2 |
Var a,b:array [1..16] of Integer;
i,n,k,pa,pb,sa,sb:Integer;
begin
assign(input,'task14.in');reset(input);
assign(output,'task1.out');
rewrite(output);
WriteLn('Введите количество матчей');
ReadLn (n);
sa:=0;
sb:=0;
pa:=0;
pb:=0;
WriteLn ('Введите счет матчей');
For i:=1 to n do
begin
ReadLn(a[i],b[i]);
sa:=sa+a[i];
sb:=sb+b[i];
if a[i]>b[i] then pa:=pa+1
else if a[i]<b[i] then pb:=pb+1;
end;
If pa>pb then k:=1
else if pa<pb then k:=2
else if sa>sb then k:=1
else if sa<sb then k:=2
else k:=0;
WriteLn (k);
Close(input);
Close(output);
end.