Решение олимпиадных задач по информатике
Какие шаги необходимо включить в словесный алгоритм для решения задачи: "N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей" из предложенного набора:
Какие шаги необходимо включить в словесный алгоритм для решения задачи: "В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки" из предложенного набора:
A. исходные данные вводим в массив
B. массив Flag заполняется "1" (если имеющий такой же порядок элемент массива исходных данных соответствует началу события, связанного с этим данным), "-1" (соответствует окончанию события)
C. сортируем массив исходных данных, одновременно переставляя элементы массива Flag
D. суммируем элементы массива Flag. Анализируем сумму.
В каком направлении идет заполнение двумерного массива в 2-ом вложенном цикле по i, в результате выполнения программы на Паскале, фрагмент которой приведен ниже:
… x:=1;for k:=1 to n div 2 do begin for i:=k to n-k do begin a[k,i]:=x; x:=x+1; end; for i:=k to n-k do begin a[i,n-k+1]:=x; x:=x+1; end; for i:=k to n-k do begin a[n-k+1,n-i+1]:=x; x:=x+1; end; for i:=k to n-k do begin a[n-i+1,k]:=x; x:=x+1; end;end; …
В каком направлении идет заполнение двумерного массива в 3-ем вложенном цикле по i, в результате выполнения программы на Паскале, фрагмент которой приведен ниже:
… x:=1;for k:=1 to n div 2 do begin for i:=k to n-k do begin a[k,i]:=x; x:=x+1; end; for i:=k to n-k do begin a[i,n-k+1]:=x; x:=x+1; end; for i:=k to n-k do begin a[n-k+1,n-i+1]:=x; x:=x+1; end; for i:=k to n-k do begin a[n-i+1,k]:=x; x:=x+1; end;end; …
В каком направлении идет заполнение двумерного массива в 1-ом вложенном цикле по i, в результате выполнения программы на Паскале, фрагмент которой приведен ниже:
… x:=1;for k:=1 to n div 2 do begin for i:=k to n-k do begin a[k,i]:=x; x:=x+1; end; for i:=k to n-k do begin a[i,n-k+1]:=x; x:=x+1; end; for i:=k to n-k do begin a[n-k+1,n-i+1]:=x; x:=x+1; end; for i:=k to n-k do begin a[n-i+1,k]:=x; x:=x+1; end;end; …
Какие шаги необходимо включить в словесный алгоритм для решения задачи: "В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется" из предложенного набора:
…j:=0; k:=0; n:=9;for i:=1 to n do x[i]:=i;for i:=1 to n do if x[i] mod 2<>0 then begin j:=j+1; y[j]:=i; end;…
Ниже приведен фрагмент программы, реализующий алгоритм решения задачи: "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);…
Сколько связных областей дадут два отрезка, имеющие одну общую координату (начало одного совпадает с концом другого)?