Каждая цифра представлялась с трёх символов, имевших значения:
«ракушка» * — ноль,
«точка» . — один,
«черта» | — пять.
Комбинация этих символов являлась корректной записью цифры, если: сумма их значений равна значению записываемой цифры, количество использованных символов минимально, символы «точка» предшествуют символам «черта». Например, цифра три записывалась как "..." , а цифра двенадцать — как "..||".
Требуется по двум заданным в записи майя числам определить их сумму и представить в той же записи.
Входные данные
Входной файл состоит из двух строк, в каждой из которых находится по одному натуральному числу в записи майя. Символ «ракушка» обозначается '*' (ASCII 42), «точка» — '.' (ASCII 46), «черта» — '|' (ASCII 124). Разряды отделяются друг от друга пробелом (ASCII 32). Оба числа не превосходят 109. Строки во входном файле содержат от 1 до 255 символов.
Выходные данные
Выходной файл должен содержать единственную строку — сумму чисел из входного файла в записи майя.
Примеры тестов
входные данные
.
..
выходные данные
...
входные данные
.. | .||
| ..||
выходные данные
.. .|| ...
входные данные
.|
|
выходные данные
|||
var s:string; mas:array ['a'..'z'] of longint;{индексы элементов соответствуют латинице} c:char; i:longint; begin read(s); for c:='a' to 'z' do{заполнение нулями элементов массива, для запоминания количества элементов в латинице} mas[c]:=0; for i:=1 to ord(s[0]) do{пробегаем по всей строке ord(s[0]) это количесвто элементов в строке (только паскаль)} mas[s[i]]:=mas[s[i]]+1; for c:='a' to 'z' do{пробегаем по массиву значений и выводим только неповторяющиеся} if(mas[c]=1) then writeln(c); end.
function Avg(a:array[,] of integer):real;
begin
var s:=0; var k:=0;
foreach var e:integer in a do
if e>0 then begin s+=e; Inc(k) end;
if k>0 then Result:=s/k else Result:=1e-100;
end;
begin
var A:=MatrixRandom(4,4,-50,50); Writeln(A);
Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
var B:=MatrixRandom(5,5,-30,30); Writeln(B);
Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
var C:=MatrixRandom(4,5,-25,38); Writeln(C);
Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.
Тестовое решение:
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200