Bmadjdraw
21.02.2022 06:35

с
Однажды царь решил вознаградить одного из своих мудрецов за хорошую работу. Он привел его в прямоугольную комнату размером NxM, в каждой клетке которой лежало несколько килограммов золота. Царь разрешил мудрецу сделать обойти несколько клеток (переходя с клетки, где сейчас находится мудрец, в одну из четырех с ней соседних), и собрать все золото, которое попадется на его пути.

Вам дан маршрут мудреца. Требуется определить, сколько килограммов золота он собрал.

Входные данные

Записано план комнаты. Сначала записано количество строк N, затем - количество столбцов M (1<=N<=20,1<=M<=20).
Затем записано N строк по M чисел в каждой - количество килограммов золота, которое лежит в данной клетке (число от 0 до 50).
Далее записано число X - сколько клеток обошел мудрец. Далее записаны координаты этих клеток (координаты клетки - это два числа: первое определяет номер строки, второе - номер столбца, верхняя левая клетка на плане имеет координаты (1,1), правая нижняя - (N,M)).

Гарантируется, что мудрец не проходил по одной и той же клетке дважды.

Выходные данные
Выведите количество килограммов золота, которое собрал мудрец.

Пример

Вход
3 4
1 2 3 4
5 6 7 8
9 10 11 12
5
1 1
2 1
2 2
2 3
1 3

Выход
22

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Irresponsibility
18.05.2023 06:52

отрезок

x1, y1,x2,y2 = map(int, input().split())

def nod(a, b):

--if b > 0:

return nod(b, a%b)

--else:

return a

a = abs(x1 - x2)

b = abs(y1 - y2)

d = nod(a, b)

print(d * (a//d + b//d - 1))

уравнение

def gcd(a, b):

while a != 0 and b != 0:

if a < b:

b = b % a

else:

a = a % b

return a + b

 def qwer(a, b):  

x = 1  

x1 = 0

y = 0

y1 = 1

while b != 0:

q = a // b

r = a % b

x2 = x - q * x1

y2 = y - q * y1

a, b = b, r

x, x1 = x1, x2

y, y1 = y1, y2

return str(a), str(x), str(y)

a, b, c = list(map(int, input().split()))

x, y = 0, 0

gcds = 0

if c % gcd(a, b) != 0:

print('-1')

else:

gcds, x, y = map(int, qwer(a, b))

x *= c // gcds

y *= c // gcds

q = x // (b // gcds)

x %= b // gcds

y += a // gcds * q

print(x, y)

0,0(0 оценок)
Ответ:
yl800845
06.03.2021 10:51

program raf105;

var

 A: real;

 x: integer;

begin

 write('Введите число в битах: ');

 readln(A);

 writeln('1. Байт');

 writeln('2. Килобайт');

 writeln('3. Магабайт');

 writeln('4. Гигабайт');

 write('Введите номер единицы, в которую нужно перевести: ');

 readln(x);

 if x=1 then writeln(A/8,' байт')

   else if x=2 then writeln(A/8000,' кб.')

     else if x=3 then writeln(A/8000000,' мб.')

       else if x=4 then writeln(A/8000000000,' гб.')

         else writeln('Ошибка');

end.

PascalABC 3.4.2
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота