База ответов ИНТУИТ

Решение олимпиадных задач по информатике

<<- Назад к вопросам

Ниже приведен фрагмент программы, реализующий алгоритм решения задачи: "В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется":

…//заполнение массива a (временем прихода и ухода сторожа), массива flag ("1" и "-1")…//сортировка массива а с перестановкой элементов массива flag (в соответствии с перестанавливаемыми элементами массива а) …for i=1 to 2*n do begin s:=s+flag [i]; if s=0 then k:=k+1; end;writeln ('количество случаев неохраняемости галереи')writeln (k-1);…

Какое количество случаев неохраняемости галереи выдаст программа, если время ухода одного из сторожей совпадает с временем прихода его сменщика?

(Ответ необходимо ввести в поле ввода.)

Варианты ответа
Похожие вопросы

Ниже приведен фрагмент программы, реализующий алгоритм решения задачи: "В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется":

…//заполнение массива a (временем прихода и ухода сторожа), массива flag ("1" и "-1")…//сортировка массива а с перестановкой элементов массива flag (в соответствии с перестанавливаемыми элементами массива а) …for i=1 to 2*n do begin s:=s+flag [i]; if s=0 then k:=k+1; end;if k=1 then writeln ('галерея всегда охранялась')else writeln ('галерея оставалась без охраны', k-1,'раз');

Каков будет результат работы программы, если время ухода одного из сторожей совпадает с временем прихода его сменщика?

Какие шаги необходимо включить в словесный алгоритм для решения задачи: "В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется" из предложенного набора:

  • A. исходные данные вводим в массив
  • B. массив Flag заполняется "1" (если имеющий такой же порядок элемент массива исходных данных соответствует началу события, связанного с этим данным), "-1" (соответствует окончанию события)
  • C. сортируем массив исходных данных, одновременно переставляя элементы массива Flag
  • D. суммируем элементы массива Flag. Анализируем сумму.
  • Ниже приведен фрагмент программы, реализующий алгоритм решения задачи: "N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей":

    …//заполнение массива a (координаты концов отрезка), массива flag ("1" и "-1")…//сортировка массива а с перестановкой элементов массива flag (в соответствии с перестанавливаемыми элементами массива а) …for i=1 to 2*n do begin s:=s+flag [i]; if s=0 then k:=k+1; end;writeln ('количество связных областей', k);…

    Сколько связных областей дадут два отрезка, имеющие одну общую координату (начало одного совпадает с концом другого)?

    Можно ли "отмечать" начало и конец какого-либо события (пример задачи: "В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется") не флажками "1" и "-1", а любыми символами (например, "*" и "/")?

    В решениях приведенных ниже задач:

    А."В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки";

    В."В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется";

    С."N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей"

    элементы массива флажков, отмечающих наступление-окончание события, на этапе заполнения начальных значений примут такие значения:

    Для решения приведенных ниже задач:

    - В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки;

    - В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется;

    - N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей.

    необходимо воспользоваться типовыми алгоритмами:

    В решениях приведенных ниже задач:

    А."В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки";

    В."В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется";

    С."N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей"

    используются типовые алгоритмы:

    Что выведется на экран в результате работы программы, фрагмент которой приведен ниже:

    … stroka:='(5+y)*(x-4)'; n:=length (stroka); s:=0; for i:=1 to n do  begin a[i]:=copy(stroka, i, 1); flag[i]:=0; end; for i:=1 to n do  begin  if a[i]="(" then flag [i]:=1;  if a[i]=")" then flag [i]:=-1;  end; for i:=1 to n do  begin  s:=s+flag [i];  if s<0 then x:=1;  end; if (s=0) and (x=0) then writeln ('верно') else writeln ('неверно');…

    В результате работы программы, фрагмент которой приведен ниже, идет проверка правильности расстановок скобок в арифметическом выражении. Что будет результатом работы программы, если в данном выражении (например: stroka:='(((5+y)*(x-4)))') избыточное количество скобок:

    … n:=length (stroka); s:=0; for i:=1 to n do  begin a[i]:=copy(stroka, i, 1); flag[i]:=0; end; for i:=1 to n do  begin if a[i]="(" then flag [i]:=1; if a[i]=")" then flag [i]:=-1; end; for i:=1 to n do  begin s:=s+flag [i]; if s<0 then x:=1; end; if (s=0) and (x=0) then writeln ('верно')  else writeln ('неверно');…

    В результате работы программы, фрагмент которой приведен ниже, идет проверка правильности расстановок скобок в арифметическом выражении. Что будет результатом работы программы, если в данном выражении (например: stroka:='(((5+y)*(x-4)))') избыточное количество скобок:

    … n:=length (stroka); s:=0; for i:=1 to n do  begin a[i]:=copy(stroka, i, 1); flag[i]:=0; end; for i:=1 to n do  begin if a[i]="(" then flag [i]:=1; if a[i]=")" then flag [i]:=-1; end; for i:=1 to n do  begin s:=s+flag [i]; if s<0 then x:=1; end; if (s=0) and (x=0) then writeln ('верно') else writeln ('неверно');…