Завтра у пети доклад на уроке . для доклада петя подготовил великолепный текст, а также взял несколько иллюстраций в библиотеке. но вот : текст у пети находится в электронном виде, а значит, его нужно распечатать. к несчастью, в его принтере кончаются чернила, и на доклад их может не хватить. в таком случае ему придется посылать папу в магазин за новым картриджем (впрочем, может оказаться, что не петя пошлет папу в магазин, а наоборот). чтобы не гонять папу (а, может быть, и не папу) зря, петя решил подсчитать, хватит ли оставшихся чернил на его доклад. чтобы это сделать, петя для каждой буквы оценил количество чернил, требуемое для того, чтобы ее напечатать. более того, некоторые понятия в тексте пети выделены с заглавных букв, и это тоже надо учитывать. пете подсчитать суммарное количество чернил, необходимое для того, чтобы распечатать текст его доклада. формат входных данных в первой строке входного файла содержится число n (1 ≤ n ≤ 26) — количество используемых в тексте букв латинского алфавита. в каждой из последующих строк содержится символ si и два целых числа ai и bi . si — это строчная буква латинского алфавита, ai — количество чернил, требуемое для печати строчной буквы, bi — количество чернил, требуемое для печати соответствующей заглавной буквы. все si различны. для чисел ai и bi верны неравенства 1 ≤ ai , bi ≤ 100. в следующей строке находится текст доклада пети. его длина не превосходит 100 символов. текст состоит из строчных и заглавных букв латинского алфавита, причем в тексте присутствуют только те буквы, для которых во входом файле задано требуемое для их печати количество чернил формат выходных данных в выходной файл выведите суммарное количество чернил, требуемое для вывода текста на печать.
5
p 5 6
t 7 8
y 9 10
a 1 2
e 3 4
petya
ответ: 26
a: array [,] of integer;
begin
var n := ReadlnInteger('n = ');
var m := ReadlnInteger('m = ');
var rand := ReadlnInteger('Для ручного ввода нажмите 0');
if rand = 0 then begin
a := new integer[m, n];
for var i := 0 to m-1 do
for var j := 0 to n-1 do
a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = ');
end
else a := MatrixRandom(m, n, 1, 100);
Println(a);
var b := ArrGen(n, x -> 1);
for var i := 0 to m-1 do
for var j := 0 to n-1 do
if j mod 2 = 0 then
b[j] := b[j] * a[i, j];
b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println();
end.
var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > -2.4 ) AND ( x < 5.7 ) then F := sqr(x)
else F := 4;
writeln('F = ', F);
end.
№2
var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > 0.2 ) AND ( x < 0.9 ) then F := sin(x)
else F := 1;
writeln('F = ', F);
end.
№3
var a,b,c: real;
begin
write('Введите а: ');
readln(a);
write('Введите b: ');
readln(b);
write('Введите c: ');
readln(c);
if ( a < b ) AND ( b < c ) then writeln('a < b < c')
else
if ( b > a ) AND ( a > c ) then writeln('b > a > c')
else
writeln('Неравенства не выполняются');
end.