М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
evgenypuchnin2
evgenypuchnin2
13.05.2021 14:56 •  Информатика

Странный вычислитель Имя входного файла: input.txt
Имя выходного файла: output.txt
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Маленькая девочка Лиза нашла странный автомат для счета. Он состоит из клеток, которые
соединены друг с другом проводками, концы которых помечены символами − и +. В каждой клетке
автомата написано либо число, либо операция, либо переменная. В инструкции к автомату она
прочитала, что данные передаются по проводкам от клетки с минусом к клетке с плюсом. В этом
случае будем говорить, что клетка с плюсом зависит от клетки с минусом.
Работает устройство следующим образом:
• результатом вычисления в клетке, которая не помечена ни одним плюсом, является значение,
записанное в неё;
• для всех клеток устройства, сначала вычисляются значения в клетках, от которых зависит
результат вычисления в этой клетке, после чего выполняется операция последовательно для
всех входных данных;
• результат, полученный в клетке с номером 1, является итоговым.
Если в клетке записана операция, то результат ее вычисления зависит от результата не менее
двух других клеток. Если в клетке записана переменная или константа, то она не зависит от результата других клеток. Гарантируется, что существует не более одной клетки с переменной и для
любой клетки с умножением существует не более одной цепочки зависимостей из клетки с переменной. Вычисление всегда завершается.
Лиза решила убедиться в корректности работы вычислителя. Для этого она написала набор
чисел — значений x. Для каждого из этих значений она хочет узнать результат, который должно
выдать устройство ей с проверкой.
Формат входных данных
В первой строке входного файла записаны три числа N, M, и Q — количество клеток, количество
зависимостей и количество значений переменной (1 ⩽ N, M, Q ⩽ 105
).
Во второй строке записаны N выражений в порядке, соответствующем номерам клеток, в которых эти выражения записаны:
• + означает, что результат в соответствующей клетке равен сумме значений от которых эта
клетка зависит;
• ∗ означает, что результат в соответствующей клетке равен произведению значений в клетках,
от которых данная клетка зависит;
• x означает, что в данной клетке записывается переменная;
• val означает, что в соответствующей клетке записана константа val (1 ⩽ val ⩽ 109 + 8).
В следующих M строках записано по два числа u и v — зависимость клетки v от значения в
клетке u (1 ⩽ u, v ⩽ N, u ̸= v).
В следующих Q строках записаны значения переменной x (0 ⩽ x ⩽ 109 + 8).
Формат выходных данных
В выходной файл выведите Q строк, в каждой из которых по одному числу — результат, полученный на вычислителе для очередного значения x. Так как результат может быть большим,
выведите остаток от деления на 109 + 9.

👇
Открыть все ответы
Ответ:
камила507
камила507
13.05.2021

uses graphabc;

 

procedure drawlight(x, y, r : integer; c : color);

begin

  brush.color : = c;

  circle(x, y, r);

end;

 

begin

  randomize;

  var v : = random(1, 3);

  var(c1,c2,c3): =(clwhite,clwhite,clwhite);

  case v of

    1 : c1 : = clred;

    2 : c2 : = clyellow;

    3 : c3 : = clgreen;

  end;

  drawlight(window.center.x, window.height div 10 * 2, window.height div 7, c1);

  drawlight(window.center.x, window.height div 10 * 5, window.height div 7, c2);

  drawlight(window.center.x, window.height div 10 * 8, window.height div 7, c3);

end.

в паскале

4,8(76 оценок)
Ответ:
саша4278
саша4278
13.05.2021

pascalabc:

program f0rwardirop;

var r, x,y: real;

b: boolean;

begin

  writeln('*   alphaeus is   *');

  write('ok, введите r =');   readln(r);

  write('теперь введите х =');   readln(x);

  write('и, наконец, введите y =');   readln(y);

  if x> =0 then  

      if (x*x+y*y < = r*r) then b: = true else b: =false

    else

      if (abs(x) < =r) and (abs(y) < =r) and (abs(x) < = abs(y)) then b: = true else b: =false;

  if b then   writeln('точка (',x,',',y,') принадлежит закрашенной области')

      else   writeln('точка (',x,',',y,') не принадлежит закрашенной области');

end.

4,7(61 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ