В этом году Боба перешел в 7-й класс Берляндской школы №007. И однажды к ним в школу пришел Биба Бибович, преподаватель Школы математики и программирования Берляндского университета, чтобы предложить им заниматься олимпиадной математикой и программированием. Число желающих было очень велико, поэтому Биба Бибович решил провести отбор, дав ученикам пару задач по математике и одну задачу по программированию. С математикой Боба справился быстро, а вот с программированием у него возникли проблемы. Поэтому он пишет Вам, как лучшему другу, чтобы Вы ему решить задачу и попасть в Школу математики и программирования. Задача заключается в следующем: даны четыре строки, первая из которых состоит из одного символа «+»,«−»,«∗» или «/»; а оставшиеся три только из символов «#». Нужно заменить все «#» на цифры так, чтобы при применении операции из первой строки к первым двум полученным числам результат равнялся третьему числу. При этом числа не могут содержать лидирующих нулей и не могут быть отрицательными. Входные данные Набор входных данных содержит четыре строки. Первая строка состоит из одного символа «+»,«−»,«∗» или «/» (без кавычек). Оставшиеся строки Li состоят только из символов «#». Гарантируется, что длина каждой из строк Li не больше 18. Выходные данные Если ответ существует, то выведите четыре строки: в первой строке «YES», а в оставшихся трёх соответствующие числа. Иначе выведите две строки. В первой строке «NO», а во второй — минимальное число решёток третьей строки, которое нужно удалить или добавить, чтобы ответ существовал. Если ни при каком изменении третьей строки ответ не существует, то выведите −1.
const n=5;
var c:array[1..n,1..n] of integer;
a, b: array[1..n] of integer;
i, j, s: integer;
begin
Randomize;
writeln('Исходный массив С:');
for i:=1 to n do
begin
for j:=1 to n do
begin
c[i,j]:=random(10);
write(c[i,j]:4);
end;
writeln;
end;
writeln('Исходный массив a:');
for i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:4);
end;
writeln;
for i:=1 to n do
begin
s:=0;
for j:=1 to n do s:=s+c[i,j]*a[j];
b[i]:=s;
end;
writeln('b=C*a');
for i:=1 to n do write(b[i]:4);
writeln;
end.
Пример:
Исходный массив С:
3 9 2 3 5
3 9 5 6 9
9 2 1 7 8
5 2 0 3 2
8 6 6 1 3
Исходный массив a:
8 6 9 1 7
b=C*a
134 192 156 69 176