Областная олимпиада по информатике 2013-2014
При обработке изображений часто встречается такая задача, когда нужно изменить размер изображения так, чтобы оно “вписалось” в заданный прямоугольник. То есть исходное изображение уменьшается (или увеличивается) таким образом, что одна из его сторон становится точно равной соответствующей стороне заданного прямоугольника, а вторая сторона подбирается так, чтобы соотношение сторон получившегося изображения было как можно ближе к оригиналу. При этом размеры получившегося изображения должны быть наибольшими возможными, но не должны при этом превышать размеры прямоугольника. Также, все размеры должны быть целыми положительными числами.
Вам заданы размеры исходного изображения и размеры прямоугольника, в который это изображение нужно вписать. Вычислите, какими должны быть размеры вписанного изображения. Учтите, что поворачивать изображение или прямоугольник нельзя!
Вам заданы размеры исходного изображения и размеры прямоугольника, в который это изображение нужно вписать. Вычислите, какими должны быть размеры вписанного изображения. Учтите, что поворачивать изображение или прямоугольник нельзя!
Входные данные
Входной файл содержит 4 целых числа $A$,$B$,$C$,$D$ ($1 ≤ A,B,C,D ≤ 10^9$), где $A$ и $B$ — ширина и высота исходного изображения, а $C$ и $D$ — ширина и высота прямоугольника, в который изображение нужно вписать.Выходные данные
Выведите 2 целых числа: ширину и высоту обработанного изображения.Примеры:
Вход:1280 720 640 480Ответ:
640 360Вход:
640 480 1280 720Ответ:
960 720
Оценивание:
В 50% тестов: A,B,C,D ≤ 1000 В 75% тестов: A, B, C, D ≤ 1000000комментарий/решение(2)
Вам дана таблица $N × M$ , в каждой ячейке которой написана какая-то цифра. Будем считать, что число есть в этой таблице, если его можно “прочитать” в каком-то месте этой таблицы по горизонтали, по вертикали или по диагонали (вправо, вниз, или вправо-вниз).
Найдите количество и сумму всех простых чисел, состоящих не более чем из 6 цифр, которые есть в этой таблице. Если какое-то число повторяется несколько раз в разных местах таблицы, то все эти вхождения нужно учитывать. Числа не должны начинаться с нуля.
Найдите количество и сумму всех простых чисел, состоящих не более чем из 6 цифр, которые есть в этой таблице. Если какое-то число повторяется несколько раз в разных местах таблицы, то все эти вхождения нужно учитывать. Числа не должны начинаться с нуля.
Входные данные
Первая строка входного файла содержит два целых числа $N$ и $M$ ($1 ≤ N, M ≤ 1500$). Следующие $N$ строк содержат по $M$ цифр, разделенных пробелом.Выходные данные
Выведите два целых числа: количество и сумму всех найденных простых чисел.Примеры:
Вход:4 5 1 2 3 4 5 6 7 8 9 0 0 9 8 7 6 5 4 3 2 1Ответ:
19 1547
Примечание:
Найденные простые числа (некоторые встречаются несколько раз): 2, 2, 3, 3, 5, 5, 7, 7, 17, 23, 43, 61, 67, 79, 83, 89, 97, 883. В 50% тестов $N, M ≤ 100$.комментарий/решение
Многие математические игры кажутся довольно странными для посторонних. Вот пример одной из них.
У вас имеется 2N − 1 карточек. Вначале в игре участвуют N карточек. На лицевой стороне каждой из них написано какое-то целое число. На обратной стороне этих же карточек написан 0 (ноль). Остальные N −1 карточек пустые с обеих сторон и пока не участвуют в игре. Вы загадываете какое-то число от 1 до N. Каждый ход игры игры заключается в следующих действиях:
Напишите программу, которая по исходному состоянию игры определяет число, которое будет написано на обратной стороне последней карточки.
после хода 2: (6 2), (4 0), (5 0)
после хода 3: (6 2), (9, 1)
после хода 4: (15, 3)
В 50% тестов $N ≤ 1000$.
У вас имеется 2N − 1 карточек. Вначале в игре участвуют N карточек. На лицевой стороне каждой из них написано какое-то целое число. На обратной стороне этих же карточек написан 0 (ноль). Остальные N −1 карточек пустые с обеих сторон и пока не участвуют в игре. Вы загадываете какое-то число от 1 до N. Каждый ход игры игры заключается в следующих действиях:
- выбрать карточку с наименьшим числом на лицевой стороне. Если таких карточек несколько — выбрать ту, на обратной стороне которой число минимально. Пусть выбрана карточка с числом A на лицевой стороне и B на обратной стороне. Убрать эту карточку из игры.
- еще раз выбрать карточку с наименьшим числом на лицевой стороне. Если таких карточек несколько — выбрать ту, на обратной стороне которой число минимально. Пусть выбрана карточка с числом C на лицевой стороне и D на обратной стороне. Убрать эту карточку из игры.
- взять пустую карточку. На лицевой стороне написать число, равное A + C, а на обратной — максимальное из чисел B + 1 и D + 1. Добавить эту карточку в игру.
Напишите программу, которая по исходному состоянию игры определяет число, которое будет написано на обратной стороне последней карточки.
Входные данные
Первая строка входного файла содержит число $N$ ($1 ≤ N ≤ 10^5$). Следующая строка содержит $N$ целых чисел — числа, написанные на лицевой стороне карточек. Каждое число лежит в промежутке от $−10^9$ до $10^9$ включительно.Выходные данные
Выведите одно целое число — ответ к задаче.Примеры:
Вход:5 1 2 3 4 5Ответ:
3
Примечание:
Описание ходов игры: исходное состояние: (1 0), (2 0), (3 0), (4 0), (5 0) после хода 1: (3 1), (3 0), (4 0), (5 0)после хода 2: (6 2), (4 0), (5 0)
после хода 3: (6 2), (9, 1)
после хода 4: (15, 3)
В 50% тестов $N ≤ 1000$.
комментарий/решение
Натуральное число называется если читается слева направо и справа налево одинаково. Вам дано одно натуральное число $N$, которое состоит из не более чем $10^6$ цифр. Найдите наименьший палиндром, который строго больше $N$.
Входные данные
В единственной строке входного файла содержится одно натуральное число $N$. $N$ не содержит лидирующих нулей и состоит из не более чем $10^6$ цифр.Выходные данные
Выведите одно целое число – наименьший палиндром, который строго больше N.Примеры:
Вход:365Ответ:
373Вход:
999999Ответ:
1000001
комментарий/решение(4)