Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Старец Летовец, известный своей любовью к математике, решил проверить смекалку своих учеников. Он дал им n конфет и сказал: "Разложите эти конфеты на три кучки так, чтобы в каждой кучке было не больше, чем limit. И определите сколькими различными способами это можно сделать?"

Напишите программу, которая поможет ученикам получить ответ на вопрос Летовца.

Формат входных данных
В первой строке входных данных записано натуральное число n, во второй - натуральное число limit.

Ограничения
  • 1 <= n <= 1000
  • 1 <= limit <= 1000

Формат выходных данных
Выведите одно число - количество способов


Примечание
В первом тестовом примере есть 3 способа разложить 5 конфет таким образом, чтобы в каждой кучке было не больше 2 конфет: (1, 2, 2), (2, 1, 2) и (2, 2, 1).
Во втором тестовом примере существует 10 способов распределить 3 конфеты таким образом, чтобы в каждой кучке было бы не больше 3 конфет: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) и (3, 0, 0).
 
Город Летовецк славится своими туристическими маршрутами. Каждый маршрут проходит через несколько достопримечательностей. Многие туристы желают посетить город, но не у всех хватает времени увидеть все достопримечательности. Туристам предлагают составить список достопримечательностей, которые они бы хотели посетить. Турагент в ответ выбирает для них самый короткий маршрут, включающий все выбранные достопримечательности. 
В последнее время туристов стало так много, что турагент не успевает анализирвать маршруты. Помогите автоматизировать работу турагента, чтобы туристы не теряли времени в ожидании своего маршрута! 

Формат входных данных
В первой строке вводится натуральное число n - количество туристических маршрутов в городе (1 <= n <= 105). Во следующих n строках вводятся сами маршруты. Каждая строка с маршрутов представляет собой список достопримечательностей (слов), разделенных одним пробелом. Количество достопримечательностей в каждой строке не превышает 109. Каждая достопримечательность записана в виде отдельного слова, состоящего только из английских букв и/или цифр.
Последняя строка содержит список достопримечетельностей, которые хочет увитеть турист.  Формат этой строки такой же как и в строках выше.
Гарантируется, что самый короткий подходящий маршрут существует и он единственный.

Формат выходных данных
Выведите самый короткий маршрут, включающий все выбранные туристом достопримечательности. Строка с маршрутом должна соответствовать какой-либо одной строке из входных данных.
В городе Летовецк  "Фестиваль Чисел" отмечается всегда в день с магической датой. Дата называется магической, если день, номер месяца и две последние цифры года совпадают. Например, 01.01.01 - магическая дата. 
По текущей дате, записанной в формате дд.мм.гг определите дату, когда будет отмечатся ближайший "Фестиваль чисел". То есть первую магическую дату, которая была бы не ранее текущей.

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

Рассмотрим все представления числа \(n\) в виде суммы различных целых возрастающих слагаемых: \(n = a_1 + a_2 + \ldots + a_k\), \(a_1 < a_2 < \ldots < a_k\).

Будем называть такое разбиение быстро возрастающим, если для него выполнено следующее условие: для любых трех подряд идущих слагаемых разница между большим и средним строго больше, чем между средним и меньшим, иначе говоря, \(a_{i+2} - a_{i+1} > a_{i+1} - a_i\).

Задано число \(n\). Выведите все его быстро возрастающие разбиения на слагаемые.

Формат входных данных
На ввод подается целое число \(n\) (\(1 \le n \le 100\)).

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

Выведите все быстро возрастающие разбиения на слагаемые числа \(n\). Разбиения можно выводить в любом порядке. Выводите слагаемые в каждом разбиении, разделяя их знаком <<+>> без пробелов.
В городе Летовецк живут n подростков, каждый из которых обладает некоторым количеством скиллов. Назовем подростка "суперскилованным", если количество его скиллов больше, чем у других подростков.
Старый мудрец Летовец решил поделиться всеми своими суперскиллами только с одним из подростков. Он хочет выбрать подростка таким образом, чтобы скиллы этого подростка и скиллы Летовца суммарно были больше. Другими словами, выбранный мудрецом подросток может стать "суперскилованным". 

Напишите программу, которая определяет сколько подростков являются претендентантами стать  "суперскилованными".


Формат входных данных
В первой строке задается натуральное число n (n < 105) - количество подростков. Во второй строке вводится n чисел skillsi - количество скиллов у i-го подростка (0<=skillsi<=109, 0<=i<n). В третьей строке вводится одно натуральное число extraskills - количество суперскиллов у мудреца Летовца (0<=extraskills<=109).

Формат выходных данных
Выведите одно число - ответ на задачу
Напишите программу, которая подсчитывает общее количество нуклеотидов G и C и вычисляет процентное содержание GC в последовательности.
Формат входных данных
Единсвенная строка содержит последовательность ДНК.

Формат выходных данных
Запишите в две строки: общее количество нуклеотидов G и C и процентное содержание GC в последовательности.
Напишите программу, которая преобразовывает РНК не кратную трем в белковую последовательность, подсчитывает длину и количество определённых аминокислот (L).
Формат входных данных
Единсвенная строка содержит последовательность РНК.

Формат выходных данных
Запишите три строки, являющиеся ответами на задания задачи соответственно: 
1) Белковая последовательность.
2) Длина цепи.
3) Колличество аминокислот L.
Напишите программу, которая преобразовывает РНК в ДНК и анализирет получившиюся последоватлеьность.
Формат входных данных
Строка содержит последовательность РНК.

Формат выходных данных
Запишите три строки, являющиеся ответами на задания задачи:
1) Последовательность ДНК.
2) Количество нуклеотида G.
3) Индекс первого вхождения подстроки UA.
Напишите программу, которая анализирует последовательность ДНК.
Формат входных данных
Первая строка содержит последовательность ДНК.

Формат выходных данных
Запишите пять строки, являющиеся ответами на задания задачи:
1) Количество нуклеотида A в последовательности.
2) Количество нуклеотида T в последовательности.
3) Количество нуклеотида G в последовательности.
4) Количество нуклеотида C в последовательности.
5) Индекс первого вхождения подстроки CGT.
Фрагмент звёздного неба спроецирован на плоскость с декартовой системой координат. Учёный решил провести кластеризацию полученных точек, являющихся изображениями звёзд, то есть разбить их множество на N непересекающихся непустых подмножеств (кластеров), таких что точки каждого подмножества лежат внутри прямоугольника со сторонами длиной H и W, причём эти прямоугольники между собой не пересекаются. Стороны прямоугольников не обязательно параллельны координатным осям. Гарантируется, что такое разбиение существует и единственно для заданных размеров прямоугольников.
Будем называть центром кластера точку этого кластера, сумма расстояний от которой до всех остальных точек кластера минимальна. Для каждого кластера гарантируется единственность его центра. Расстояние между двумя точками на плоскости A(x1, y1) и B(x2, y2) вычисляется по формуле:
\(d(A, B) = \sqrt{((x_2-x_1)^2+(y_2-y_1)^2}\)
В файле A хранятся координаты точек двух кластеров, где H = 3, W = 3 для каждого кластера. В каждой строке записана информация о расположении на карте одной точки: сначала координата x, затем координата y. Известно, что количество точек не превышает 1000.
В файле Б хранятся координаты точек трёх кластеров, где H = 3, W = 3 для каждого кластера. Известно, что количество точек не превышает 10 000. Структура хранения информации в файле Б аналогична файлу А.
Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа: Px – среднее арифметическое абсцисс центров кластеров, и Py – среднее арифметическое ординат центров кластеров.

В ответе запишите четыре числа:
в первой строке сначала целую часть произведения Px × 10 000, затем целую часть произведения Py × 10 000 для файла А, во второй строке – аналогичные данные для файла Б.
Значения в каждой строке разделяйте одним пробелом.

Возможные данные одного из файлов проиллюстрированы графиком.

Внимание! График приведён в иллюстративных целях для произвольных значений, не имеющих отношения к заданию.
Для выполнения задания используйте данные из прилагаемого файла.
Дано четыре числа: a, b, c, d. Измените числа по следующему правилу:  если число a не больше числа c, то каждое число увеличить на число a, в противном случае каждое число уменьшить на число a. Выведите измененные числа на экран в том же порядке, как они вводились.

Формат входных данных
Вводятся четыре числа a, b, c, d. Каждое число в отдельной строке. В первой строке число a, во второй - b и т.д. Все числа целые, не превышающие по модулю 105.

Формат выходных данных
Выведите измененные числа в том же порядке. Каждое число вывести в отдельно строке.
Рассчитать значение у при заданном значении х:

\(y = \begin{cases} sin^2(x) , при \ x > 0\\ 1-sin^2(x),\ в\ противном\ случае \end{cases}\)

Программа должна запрашивать с клавиатуры одно целое число x и выводить на экран значение y. Ответ будет проверен с точностью до 6 знаков в дробной части числа.
В первый час Муми-Тролли повесили x игрушек на ёлку. Каждый следующий час они могут повешать на ёлку количество игрушек не более чем на 10% больше, чем в предыдущем часе. К какому часу Муми-тролли повесят на елку все y игрушек, если будут стараться украсить ёлку как можно быстрее.

Формат входных данных
Программа получает на вход два целых числа x и y.

Формат выходных данных
Программа должна вывести одно натуральное число - час, к которому на ёлке будут висеть все игрушки.
Мумми-мама решила испечь печенье к празднику. Она печет по B печений за один раз, и печёт их в следующие моменты времени: A минут, 2A минут, 3A минут и каждое последующее число, кратное A минутам после начала выпечки. Определите, сколько печений будет испечено Мумми-мамой к празднику, который наступит через T+0,5 после начала выпечки.

Формат входных данных
Программа получает на вход одну строку, содержащую три числа A, B и T.  1 <= A, B, T <= 20, A <= T. Все числа целые положительные.

Формат выходных данных
Выведите одно число - ответ на задачу.
Дед мороз получил очень странное послание! Помогите ему. Напишите программу, которая выводит это сообщение в понятной форме 

–Т—Л–≤–µ–і–Є—В–µ –і–≤–∞–і—Ж–∞—В—М –њ–µ—А–≤—Л—Е –њ—А–Њ—Б—В—Л—Е —З–Є—Б–µ–ї
 

Дана строка, представляющая последовательность символов (например, ДНК или белковая последовательность). Необходимо найти:

  1. Символ, который образует самую длинную непрерывную последовательность.
  2. Длину этой последовательности.

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

Необходимо:

  1. Найти старт-кодон ATG.
  2. Найти ближайший стоп-кодон (TAA, TAG, TGA) после старт-кодона.
  3. Перевести последовательность между старт- и стоп-кодонами в аминокислотную последовательность.
  4. Повторить процесс для всех возможных белков в последовательности.
Можете использовать словарь генетического кода: https://silvertests.ru/NoteBook.aspx?id=58286
Поделиться
Класснуть