В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
energo5165
energo5165
10.06.2020 12:16 •  Информатика

Устав от участия в раундах на Codeforces, Гильдонг решил отдохнуть в парке. Он присел на лавку, и заметил двух кроликов, прыгающих поблизости. Он заметил, что два кролика прыгали навстречу друг другу. Позиции двух кроликов можно задать целочисленными координатами на горизонтальной прямой. Более высокий кролик изначально находится в точке с координатой
, а более низкий — в точке с координатой (<). Каждую секунду, каждый кролик прыгает на другую позицию. Более высокий кролик прыгает в положительном направлении на , а более низкий прыгает в отрицательном направлении на

.

Например, если =0
, =10, =2, и =3. После 1-й секунды, кролики будут в точках 2 и 7. После 2-й секунды, оба кролика будет в точке 4

.

Гильдонг задумался: Будут ли когда-то два кролика в одной точке в один момент времени? Если будут, то через какое время это произойдет ему найти такую секунду, после которой оба кролика будут в одной точке.
Входные данные

Каждый тест состоит из одного или более наборов входных данных. В первой строке записано количество наборов входных данных
(1≤≤1000

).

Каждый набор входных данных состоит из ровно одной строки. Строка состоит из четырех целых чисел
, , , (0≤<≤109, 1≤,≤109

) — текущая позиция более высокого кролика, текущая позиция более низкого кролика, расстояние прыжка более высокого прыжка, расстояние прыжка более низкого кролика, соответственно.
Выходные данные

Для каждого набора входных данных, выведите одно целое число — количество секунд, через которое два кролика окажутся в одной точке.

Если два кролика никогда не окажутся в одной точке одновременно, выведите −1

Язык c++

Показать ответ
Ответ:
alinaosipyants
alinaosipyants
05.06.2022 19:40

Ре­ше­ние.

15.1 Сле­ду­ю­щий ал­го­ритм вы­пол­нит тре­бу­е­мую за­да­чу.

нц

пока спра­ва сво­бод­но

за­кра­сить

впра­во

кц

нц

пока снизу сво­бод­но

за­кра­сить

вниз

кц

за­кра­сить

нц

пока не (снизу сво­бод­но)

влево

кц

вниз

нц

пока не (спра­ва сво­бод­но)

за­кра­сить

вниз

кц

за­кра­сить

впра­во

нц

пока не (свер­ху сво­бод­но)

за­кра­сить

впра­во

кц

15.2 Ре­ше­ние

var a, s: integer;

begin

s: = 0;

readln(a);

while a<>0 do begin

if (a mod 8=0) and (a mod 10 = 6) then

s : = s + a;

readln(a);

end;

writeln(s)

end.

Для про­вер­ки пра­виль­но­сти ра­бо­ты про­грам­мы не­об­хо­ди­мо ис­поль­зо­вать сле­ду­ю­щие тесты:

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

1

8

6

10

0

0

2

16

0

16

3

16

96

5

0

112

Спрятать критерии

Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­ния 15.

Ал­го­ритм пра­виль­но ра­бо­та­ет при всех до­пу­сти­мых ис­ход­ных дан­ных 2

При всех до­пу­сти­мых ис­ход­ных дан­ных верно сле­ду­ю­щее:

1) вы­пол­не­ние ал­го­рит­ма за­вер­ша­ет­ся, и при этом Робот не раз­би­ва­ет­ся;

2) за­кра­ше­но не более 10 лиш­них кле­ток;

3) оста­лись не­за­кра­шен­ны­ми не более 10 кле­ток из числа тех, ко­то­рые долж­ны были быть за­кра­ше­ны

1

За­да­ние вы­пол­не­но не­вер­но, т. е. не вы­пол­не­ны усло­вия, поз­во­ля­ю­щие по­ста­вить 1 или 0

Мак­си­маль­ный 2

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­ния 15.

Пред­ло­же­но вер­ное ре­ше­ние. Про­грам­ма пра­виль­но ра­бо­та­ет на всех при­ведённых выше те­стах. Про­грам­ма может быть за­пи­са­на на любом языке про­грам­ми­ро­ва­ния 2

Про­грам­ма выдаёт не­вер­ный ответ на одном из те­стов, при­ведённых выше. На­при­мер, ре­ше­ние, в ко­то­ром не­вер­но за­да­но усло­вие от­бо­ра чисел: (a mod 8=0)or(a mod 10=6), вы­даст не­пра­виль­ный ответ на тесте № 1. 1

Про­грам­ма выдаёт на те­стах не­вер­ные от­ве­ты, от­лич­ные от опи­сан­ных в кри­те­рии на 0

Мак­си­маль­ный 2

0,0(0 оценок)
Ответ:
12Познователь12
12Познователь12
07.05.2022 05:58

Теоретический материал (Паскаль)

Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом

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

Мы уже рассматривали формирование и обработку одномерных массивов. Вспомним, что в массив мы объединяем конечную последовательность компонентов одного типа и даем им общее имя. Каждый отдельный компонент массива называется элементом. Количество элементов называется размером массива. Тип элементов определяет тип массива. Размер и тип массива указываются при его описании, причем размер может быть указан либо конкретным значением, либо ранее определенной константой. Номер элемента называется индексом. Индексы могут быть целыми положительными константами или целыми переменными. Чтобы обратиться к некоторому элементу массива, нужно рядом с идентификатором массива в скобках указать индекс элемента.

Но часто данные могут быть организованы в виде таблицы (матрицы), где расположение каждой переменной определяется номером строки и номером столбца. Например, место в зрительном зале задается указанием номера ряда и номером места в этом ряду. Такие данные удобно описать как двумерный массив. В отличие от одномерного массива каждому элементу двумерного массива соответствует пара индексов. Первый индекс - это номер строки, а второй - номер столбца, где расположен элемент массива.

Размер двумерного массива задается парой чисел: M*N, где M - число строк, а N - число столбцов в таблице.

Пусть задан двумерный массив Matr, имеющий размер 10*20. Этот массив на языке Паскаль может быть описан следующим образом:

Var

Matr : array [1..10,1..20] of integer;

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