ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Подтемы:
Фильтр
Сложность с по   Класс с по  
Выбрано 4 задачи
Версия для печати
Убрать все задачи

На ось Ox плоскости Oxy положили N прямоугольников. Требуется найти координаты вершин ломаной, огибающей это множество прямоугольников сверху (см. рис.).



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

Первая строка входного файла содержит целое число N (1 ≤ N ≤ 100). Далее следуют N строк, в каждой из которых записана тройка вещественных чисел, описывающих очередной из прямоугольников. Первое из них задает абсциссу левого нижнего угла прямоугольника, а остальные два – его длину и высоту.

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

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

Пример входного файла

2
0 4 2
2 4 5

Пример выходного файла

6
0 0
0 2
2 2
2 5
6 5
6 0

Вниз   Решение


Ниже приведён фрагмент мозаики, которая состоит из ромбиков двух видов: "широких" и "узких" (см. рис.).

Нарисуйте, как по линиям мозаики вырезать фигуру, состоящую ровно из 3 "широких" и 8 "узких" ромбиков. (Фигура не должна распадаться на части.)

ВверхВниз   Решение


На плоскости провели N окружностей. Требуется определить площадь их пересечения.

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

В первой строке входного файла находится целое число N (1 ≤ N ≤ 20). В каждой из последующих N строк записана тройка вещественных чисел, описывающих очередную из окружностей. Первые два числа задают координаты ее центра, третье – радиус.

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

Выведите в выходной файл искомую площадь не менее чем с 6 верными значащими цифрами.

Пример входного файла

2
0 0 1
1 1 1

Пример выходного файла

0.570796

ВверхВниз   Решение


Имя входного файла:

numbers.in

Имя выходного файла:

numbers.out

Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайта

Максимальная оценка за задачу:

100 баллов

   

Саша считает красивыми числа, десятичная запись которых не содержит других цифр, кроме 0 и k (1 ? k ? 9). Например, если k = 2, то такими числами будут 2, 20, 22, 2002 и т.п. Остальные числа Саше не нравятся, поэтому он представляет их в виде суммы красивых чисел. Например, если k = 3, то число 69 можно представить так: 69 = 33 + 30 + 3 + 3.

Однако, не любое натуральное число можно разложить в сумму красивых целых чисел. Например, при k = 5 число 6 нельзя представить в таком виде. Но если использовать красивые десятичные дроби, то это можно сделать: 6 = 5.5 + 0.5.

Недавно Саша изучил периодические десятичные дроби и начал использовать и их в качестве слагаемых. Например, если k = 3, то число 43 можно разложить так: 43 = 33.(3) + 3.(3) + 3 + 3.(3).

Оказывается, любое натуральное число можно представить в виде суммы положительных красивых чисел. Но такое разложение не единственно - например, число 69 можно также представить и как 69 = 33 + 33 + 3. Сашу заинтересовало, какое минимальное количество слагаемых требуется для представления числа n в виде суммы красивых чисел.

Требуется написать программу, которая для заданных чисел n и k находит разложение числа n в сумму положительных красивых чисел с минимальным количеством слагаемых.

Формат входных данных

Во входном файле записаны два натуральных числа n и k (1 ≤ n ≤ 109; 1≤ k ≤ 9).

Формат выходных данных

В выходной файл выведите разложение числа n в сумму положительных чисел, содержащих только цифры 0 и k, количество слагаемых в котором минимально. Разложение должно быть представлено в виде:

n=a1+a2+...+am

Слагаемые a1, a2, ..., am должны быть выведены без ведущих нулей, без лишних нулей в конце дробной части. Запись каждого слагаемого должна быть такой, что длины периода и предпериода дробной части имеют минимально возможную длину. Например, неправильно выведены числа: 07.7; 2.20; 55.5(5); 0.(66); 7.(0); 7. ; .5; 0.33(03). Их следует выводить так: 7.7; 2.2; 55.(5); 0.(6); 7; 7; 0.5; 0.3(30).

Предпериод и период каждого из выведенных чисел должны состоять не более чем из 100 цифр. Гарантируется, что хотя бы одно такое решение существует. Если искомых решений несколько, выведите любое. Порядок слагаемых может быть произвольным.

Выходной файл не должен содержать пробелов.

Примеры

numbers.in

numbers.out

69 3

69=33+33+3

6 5

6=5.5+0.5

10 9

10=9.(9)

Вверх   Решение

Задачи

Страница: << 1 2 3 4 5 6 7 >> [Всего задач: 39]      



Задача 98678

 [Красивые числа]
Тема:   [ Десятичная запись числа ]
Сложность: 4+
Классы: 8,9,10,11

Имя входного файла:

numbers.in

Имя выходного файла:

numbers.out

Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайта

Максимальная оценка за задачу:

100 баллов

   

Саша считает красивыми числа, десятичная запись которых не содержит других цифр, кроме 0 и k (1 ? k ? 9). Например, если k = 2, то такими числами будут 2, 20, 22, 2002 и т.п. Остальные числа Саше не нравятся, поэтому он представляет их в виде суммы красивых чисел. Например, если k = 3, то число 69 можно представить так: 69 = 33 + 30 + 3 + 3.

Однако, не любое натуральное число можно разложить в сумму красивых целых чисел. Например, при k = 5 число 6 нельзя представить в таком виде. Но если использовать красивые десятичные дроби, то это можно сделать: 6 = 5.5 + 0.5.

Недавно Саша изучил периодические десятичные дроби и начал использовать и их в качестве слагаемых. Например, если k = 3, то число 43 можно разложить так: 43 = 33.(3) + 3.(3) + 3 + 3.(3).

Оказывается, любое натуральное число можно представить в виде суммы положительных красивых чисел. Но такое разложение не единственно - например, число 69 можно также представить и как 69 = 33 + 33 + 3. Сашу заинтересовало, какое минимальное количество слагаемых требуется для представления числа n в виде суммы красивых чисел.

Требуется написать программу, которая для заданных чисел n и k находит разложение числа n в сумму положительных красивых чисел с минимальным количеством слагаемых.

Формат входных данных

Во входном файле записаны два натуральных числа n и k (1 ≤ n ≤ 109; 1≤ k ≤ 9).

Формат выходных данных

В выходной файл выведите разложение числа n в сумму положительных чисел, содержащих только цифры 0 и k, количество слагаемых в котором минимально. Разложение должно быть представлено в виде:

n=a1+a2+...+am

Слагаемые a1, a2, ..., am должны быть выведены без ведущих нулей, без лишних нулей в конце дробной части. Запись каждого слагаемого должна быть такой, что длины периода и предпериода дробной части имеют минимально возможную длину. Например, неправильно выведены числа: 07.7; 2.20; 55.5(5); 0.(66); 7.(0); 7. ; .5; 0.33(03). Их следует выводить так: 7.7; 2.2; 55.(5); 0.(6); 7; 7; 0.5; 0.3(30).

Предпериод и период каждого из выведенных чисел должны состоять не более чем из 100 цифр. Гарантируется, что хотя бы одно такое решение существует. Если искомых решений несколько, выведите любое. Порядок слагаемых может быть произвольным.

Выходной файл не должен содержать пробелов.

Примеры

numbers.in

numbers.out

69 3

69=33+33+3

6 5

6=5.5+0.5

10 9

10=9.(9)

Прислать комментарий     Решение

Задача 76244

Темы:   [ Одномерные массивы ]
[ Многочлены ]
Сложность: 2

(Для знакомых с основами анализа; сообщил А. Г.Кушниренко) Дополнить алгоритм вычисления значения многочлена в заданной точке по схеме Горнера вычислением значения его производной в той же точке.
Прислать комментарий     Решение


Задача 76242

Темы:   [ Одномерные массивы ]
[ Движения ]
Сложность: 2+

(Из книги Д. Гриса) Дан массив целых чисел x[1]..x[m+n], рассматриваемый как соединение двух его отрезков: начала x[1]..x[m] длины m и конца x[m+1]..x[m+n] длины n. Не используя дополнительных массивов, переставить начало и конец. (Число действий порядка m + n.)
Прислать комментарий     Решение


Задача 76200

Темы:   [ Знакомство с циклами ]
[ Двоичная система счисления ]
Сложность: 3

Решить предыдущую задачу, если требуется, чтобы число действий (выполняемых операторов присваивания) было порядка log n (то есть не превосходило бы C log n для некоторой константы C; log n — это степень, в которую нужно возвести 2, чтобы получить n).
Прислать комментарий     Решение


Задача 102935

 [Пересечение многоугольников ]
Темы:   [ Прямая и отрезок ]
[ Площадь ]
Сложность: 3+

Два многоугольника на плоскости заданы координатами своих вершин. Требуется вычислить площадь пересечения этих многоугольников, то есть сумму площадей тех кусков, которые образуются при их пересечении и принадлежат каждому из них. При этом вы можете предполагать, что: 
    А) Многоугольники выпуклые, а координаты их вершин даны в произвольном порядке.
    Б) Хотя бы один из многоугольников невыпуклый, но известно, что у каждого из многоугольников не более одного угла, большего 180 градусов, а координаты вершин даны в порядке обхода по часовой стрелке.
Ваша программа по входным данным должна сама определить, какой из этих двух случаев имеет место.

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

Первая строка входного файла содержит целое число N – количество вершин в первом многоугольнике (3 ≤ N ≤ 50). Во второй строке записаны координаты этих вершин. Третья и четвертая строки таким же образом задают второй многоугольник. Координаты всех вершин являются целыми числами из диапазона [-32768, 32767].

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

Выведите в выходной файл искомую площадь не менее чем с 6 верными значащими цифрами.

Пример входного файла

3
0 3 0 -3 -3 0
5
-1 1 2 1 1 0 2 -1 -1 -1

Пример выходного файла

2.0
Прислать комментарий     Решение


Страница: << 1 2 3 4 5 6 7 >> [Всего задач: 39]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .