---> 41 задач <---
Страница: << 1 2 3 4 5 6 7 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Фермер Иван с юности следит за своим газоном. Газон можно считать плоскостью, на которой в каждой точке с целыми координатами растет один пучок травы.

В одно из воскресений Иван воспользовался газонокосилкой и постриг некоторый прямоугольный участок газона. Стороны этого участка параллельны осям координат, а две противоположные вершины расположены в точках (x1, y1) и (x2, y2). Следует отметить, что пучки травы, находящиеся на границе этого прямоугольника, также были пострижены.

Довольный результатом Иван купил и установил на газоне дождевальную установку. Она была размещена в точке с координатами (x3, y3) и имела радиус действия струи r. Таким образом, установка начала поливать все пучки, расстояние от которых до точки (x3, y3) не превышало r.

Все было хорошо, но Ивана заинтересовал следующий вопрос: сколько пучков травы оказалось и пострижено, и полито в это воскресенье?

Требуется написать программу, которая позволит дать ответ на вопрос Ивана.

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

В первой строке входного файла содержатся четыре целых числа x1, y1, x2, y2 (−100 000  x1 < x2  100 000; −100 000  y1 < y2  100 000).

Во второй строке входного файла содержатся три целых числа x3, y3, r (−100 000  x3, y3  100 000; 1  r  100 000)

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

В выходной файл необходимо вывести одно целое число — число пучков травы, которые были и пострижены, и политы.

Иллюстрация к примеру

Разбалловка для личной олимпиады

Тест 1 — из условия. Оценивается в 0 баллов.

Тесты 2-21 — дополнительных ограничений нет. Группа тестов оценивается в 100 баллов.

Баллы начисляются за прохождение всех тестов группы и всех тестов предыдущих групп.

Примеры
Входные данные
0 0 5 4
4 0 3
Выходные данные
14
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
Заданы длины отрезков, которые необходимо наложить на окружность. Требуется наложить их так, чтобы максимальное количество отрезков, покрывающих точку было минимальным.

Как известно, обычно штаны состоят из двух штанин. Однако собачке нужны, например, уже штаны из 5 штанин (для 4-х лап и хвоста), а сороконожке – штаны с 40 штанинами.

У Пети живет Зверь, у которого M лап. Иногда – когда на улице особенно холодно, чтобы Зверь не простудился, на него бывает нужно надеть несколько штанов, чтобы на каждой лапе было надето по несколько штанин.

Петина мама оставила Пете N штанов, имеющих соответственно K1, K2, …, KN штанин, наказав ему надеть на Зверя их все. Петя хочет надеть на Зверя штаны так, чтобы на самой «утепленной» лапе оказалось как можно меньше штанин, но при этом все оставленные мамой штаны были надеты на зверя. Любые штаны можно надевать на любой набор лап (каждая лапа встречается в наборе не более одного раза).

Помогите ему – напишите программу, которая для каждых штанов укажет, на какие лапы должны быть надеты их штанины. Имейте в виду, что две штанины одних и тех же штанов не могут быть надеты на одну и ту же лапу (в то время как штанины разных штанов могут быть надеты на одну и ту же лапу).

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

Вводится сначала число M, а затем число N (1 ≤ M ≤ 100, 1 ≤ N ≤ 100). Далее вводятся N чисел Ki, обозначающих число штанин у оставленных мамой штанов (1 ≤ KiM).

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

Выведите N строк, в i-ой строке должно быть выведено Ki различных чисел, обозначающих номера лап Зверя, на которые должны быть надеты штанины i-ых штанов. Лапы Зверя нумеруются натуральными числами от 1 до M. Если искомых ответов несколько, то выведите любой из них.

Комментарии к примерам тестов.

1. Первые штаны надеты на лапу 1;
вторые штаны надеты на лапы 1 и 2;
третьи штаны надеты на лапы 2, 3 и 4.
Таким образом, на самых «утепленных» лапах (а это лапы 1 и 2) надето по 2 штанины.

2. Первые штаны надеты на лапы 1, 2 и 3;
вторые штаны надеты на лапы 1 и 4.
Таким образом, количество штанов на самой «утепленной» лапе (это лапа номер 1) – 2.

Примеры
Входные данные
4 3
1 2 3
Выходные данные
1
2 3
4 1 2
Входные данные
4 2
3 2
Выходные данные
1 2 3
4 1

По дороге одна за другой движутся N черепах. Каждая черепаха говорит фразу вида: “Впереди меня ai черепах, а позади меня bi черепах”. Ваша задача определить самое большее количество черепах, которые могут говорить правду.

Широко известна следующая задача для младших школьников. Три черепахи ползут по дороге. Одна черепаха говорит: “Впереди меня две черепахи”. Другая черепаха говорит: “Позади меня две черепахи”. Третья черепаха говорит: “Впереди меня две черепахи и позади меня две черепахи”. Как такое может быть? Ответ: третья черепаха врет!

По дороге одна за другой движутся N черепах. Каждая черепаха говорит фразу вида: “Впереди меня ai черепах, а позади меня bi черепах”. Ваша задача определить самое большое количество черепах, которые могут говорить правду.

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

В первой строке вводится целое число N \((1 \le N \le 10000)\). Далее следуют N строк, содержащих целые числа ai и bi, по модулю не превосходящие 10000, описывающие высказывание i-ой черепахи.

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

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

Выведите целое число M – максимальное количество черепах, которые могут говорить правду.

Примеры
Входные данные
3
2 0
0 2
2 2
Выходные данные
2
ограничение по времени на тест
4.0 second;
ограничение по памяти на тест
64 megabytes

Миша уже научился хорошо фотографировать и недавно увлекся программированием. Первая программа, которую он написал, позволяет формировать негатив чёрно-белого изображения.

Бинарное чёрно-белое изображение — это прямоугольник, состоящий из пикселей, каждый из которых может быть либо чёрным, либо белым. Негатив такого изображения получается путём замены каждого чёрного пикселя на белый, а каждого белого пикселя — на чёрный.

Миша, как начинающий программист, написал свою программу с ошибкой, поэтому в результате её исполнения мог получаться некорректный негатив. Для того чтобы оценить уровень несоответствия получаемого негатива исходному изображению, Миша начал тестировать свою программу.

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

Требуется написать программу, которая в качестве входных данных использует исходное бинарное чёрно-белое изображение и полученный Мишиной программой негатив, и на основе этого определяет количество пикселей, в которых допущена ошибка.

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

Первая строка входного файла содержит целые числа \(n\) и \(m\) (\(1\le n,m\le100\)) — высоту и ширину исходного изображения (в пикселях).

Последующие \(n\) строк содержат описание исходного изображения. Каждая строка состоит из \(m\) символов «B» и «W». Символ «B» соответствует чёрному пикселю, а символ «W» — белому.

Далее следует пустая строка, а после неё — описание выведенного Мишиной программой изображения в том же формате, что и исходное изображение.

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

В выходной файл необходимо вывести число пикселей негатива, которые неправильно сформированы Мишиной программой.

Примеры
Входные данные
3 4
WBBW
BBBB
WBBW

BWWW
WWWB
BWWB
Выходные данные
2
Входные данные
2 2
BW
BB

WW
BW
Выходные данные
2
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

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

Кол-во поездок Стоимость (руб.) Кол-во поездок Стоимость (руб.) Кол-во поездок Стоимость (руб.) Кол-во поездок Стоимость (руб.)
1 22 19 362 37 586.13 55 804.38
2 44 20 380 38 598.25 56 816.5
3 64.33 21 392.13 39 610.38 57 828.63
4 84.67 22 404.25 40 622.5 58 840.75
5 105 23 416.38 41 634.63 59 852.88
6 124 24 428.5 42 646.75 60 865
7 143 25 440.63 43 658.88 61 863.5
8 162 26 452.75 44 671 62 862
9 181 27 464.88 45 683.13 63 860.5
10 200 28 477 46 695.25 64 859
11 218 29 489.13 47 707.38 65 857.5
12 236 30 501.25 48 719.5 66 856
13 254 31 513.38 49 731.63 67 854.5
14 272 32 525.5 50 743.75 68 853
15 290 33 537.63 51 755.88 69 851.5
16 308 34 549.75 52 768 70 850
17 326 35 561.88 53 780.13    
18 344 36 574 54 792.25    

При совершении более 70 поездок с карточки списывается 850 рублей за 70 поездок, и по 15.71 за каждую поездку начиная с 71-й. Кроме того, если за месяц по карточке был совершен хотя бы один проход, то списывается банковская комиссия в размере 10 рублей (независимо от числа проходов), если же проходов по карте не было, то комиссия не списывается.

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

Кроме того, они заметили, что в некоторых случаях бывает выгодно совершать лишние проходы по карточке (например, если по карточке за месяц совершено 69 проходов, то надо сделать 70-й - списанная сумма в этом случае окажется меньше).

Известно, что в наступающем месяце Вася собирается сделать A самостоятельных поездок, Петя - B самостоятельных поездок, и еще С поездок они сделают вместе (то есть всего они сделают A+B+2C проходов через турникеты). Напишите программу, которая по заданным числам A, B и C определит минимальную сумму, которую они могут потратить (с учетом банковских комиссий, при необходимости совершив лишние проходы через турникеты).

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

Вводятся целые числа \(A\), \(B\), \(C\) (каждое из них из диапазона от 0 до 1000).

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

Выведите, сколько рублей будет списано суммарно с Васиной и Петиной карточек. Результат должен быть выведен с двумя знаками после десятичной точки.

Примеры
Входные данные
1 1 0
Выходные данные
64.00
Входные данные
59 0 0
Выходные данные
860.00
Входные данные
10 10 10
Выходные данные
721.25
Входные данные
0 0 30
Выходные данные
860.00

Страница: << 1 2 3 4 5 6 7 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест