Dalgat0
11.08.2021 09:21

В стране Берляндии города расположены на сетке n на m клеток. Города нумеруются слева-направо и сверху-вниз. Левый верхний город будет иметь координаты (1,1), а правый нижний город будет иметь координаты (n,m). Дороги соединяют города по сетке, то есть город с координатами (x, y) имеет дороги к 4-м городам c координатами (x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1), с условием того, что города с такими координатами существуют. Есть k некрасивых городов. Президент хочет проехать из города, расположенного слева вверху в город справа внизу. Но он не хочет проезжать по некрасивым городам.Так же он может ехать только вправо или вниз по сетке президенту понять, сможет ли он добраться до правого нижнего города, посещая только красивые города.

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

Формат ввода
В первой строке даны два целых числа n, m (1 ≤ n, m ≤ 105, n*m ≤ 105) — размеры сетки

Во второй строке дано число k(0 ≤ k ≤ n*m) — количество некрасивых городов

В каждой из последующих k строк даны два числа xi и yi - координаты i-го некрасивого города

Формат вывода
Если президент сможет проехать путь, посещая только красивые города, то выведите «YES», иначе «NO» (без кавычек)

Тесты:
3 3
3
1 2
2 2
3 2
ответ: NO

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
daaaasha2018
23.02.2023 10:17
{Данная программа переводит любое сочетание символов ASCII в систему счисления заданную пользователем.}

//Pascal ABC.NET v3.0 сборка 1111

var
 a,i,b,r,n,j,bug:integer;
 s,se,slo,slof:string;

procedure preob(var a,b,n:integer; var se:string);
 begin
  repeat
   b:=a mod n;
   a:=a div n;
   str(b,se);
   s+=se;
  until (a<=n-1);
 end;

beginreadln(slo);
readln(n);
for j:=1 to length(slo) do
begin;
a:=ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i:=1 to length(s) div 2 do
begin;
se:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=se[1];
end;
write(s,'-');
slof:=slof+s;
delete(s,1,length(s));
end;
end.

Пример ввода:
Домашняя работа на завтра.
2
Пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-

{Таким образом, фразу "Домашняя работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}
0,0(0 оценок)
Ответ:
vikki01092
16.06.2022 23:39
ОК, всё это циклы.
1) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик увеличивается на 1. Пример:
for a:=1 to 10 do //Цикл будет выполнен 10 раз
2) Цикл for (цикл с счётчиком), при этом при каждом шаге цикла счётчик уменьшается на 1. Пример:
for a:=10 to 1 do //Цикл будет выполнен 10 раз
3)Цикл с постусолвием. Если условие не выполняется, выполняется цикл. Его особенность заключается в том, что цикл выполнится хотя бы один раз вне зависимости от условия. Пример:
k:=0;
repeat
inc(k);
until k<9 //10 раз
4)Цикл с предусловием. Пока условие выполняется, выполняется и цикл.
Пример:
k:=0;
while k<>10 do
inc(k); //10 раз
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота