Типы данных

798 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
Clipart Sofia The First @clipartmax.com Принцесса София и кролик Клевер очень любят варенье. Принцесса съедает банку варенья за n минут, а кролик - за m минут. Определите за сколько минут они съедят банку варенья вместе.

Входные данные
На вход подаются через пробел два целых числа: n и m (n, m <= 1000).

Выходные данные
Вам необходимо вывести на экран одно число - время в минутах, которое понадобится друзьям, чтобы съесть одну банку варенья вместе (неполная минута считается за 1 минуту).
 
Примеры
№ Входные данные Выходные данные
1 9 6 4
В плохую погоду у Седрика портится настроение, и он начинает вредничать. Последний раз он вредничал таким образом: в каждом четырёхзначном числе, которое он встречал на улице, он удалял первую и последнюю цифры. Напишите программу, моделирующую плохое настроение Седрика.

Входные данные
На вход подаётся четырёхзначное число.

Выходные данные
Выведите новое число, образованное отбрасыванием первой и последней цифр исходного числа.
 
Примеры
№ Входные данные Выходные данные
1 1234 23
Вы дали строку, содержащая некоторый текст. Вас просят определить наиболее часто встречающееся слово в данной строке. При этом запрещается считать слова, которые являются запрещенными. 
Гарантируется, что есть хотя бы одно слово, которое не запрещено, и что ответ уникален.

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

Ограничения

  • 1 <= длина текста <= 1000
  • текст состоит из английских букв, разделителем слов является знак пробела (' '), и/или один из следующих символов: "!?',;.".
  • 0 <= количество запрещенных слов <= 100
  • 1 <= длина каждого запрещенного слова <= 10
  • запрещенное слово состоит только из английских букв, записанных в нижнем регистре.

Выходные данные
 Выведите в нижнем регистре наиболее часто встречаемое слово.
 
 
Примеры
№ Входные данные Выходные данные
1
Alpha Beta alpha Z z, b.
1
alpha
z
2
a.
0
a
✓ 47✗ 208500лёгкаяВойти и решать
Дана строка s. Отсортируйте символы данной строки в порядке убывания частоты встречаемости. Частота встречаемости символа - это количество раз, которое данный символ встречается в строке.

Выведите отсортированную строку. Если два символа встречаются одинаковое количество раз, то они должны идти в лексикографическом порядке.

Входные данные
Программа получает на вход

Ограничения
1 <= s.length <= 5 * 105 (s.length - длина строки s)
s содержит большие и маленькие английские буквы и цифры.


Выходные данные
Выведите отсортированную строку.
 
 
Примеры
№ Входные данные Выходные данные
1
tree
eert
2
cccaaa
aaaccc
3
Aabb
bbAa
Символ называется уникальным, если он встречается в строке один раз. Первый уникальный символ - это уникальный символ с наименьшим индексом.
Дана строка s. Найдите первый уникальный символ в данной строке. Выведите его индекс. Если в строке нет уникальных символов, выведите -1.

Входные данные
Программа получает на вход последовательность непробельных символов s. 

Ограничения
'a' <= s[i] <= 'z'
0 <= i <= 255

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1
silvertests
1
2
sstt
-1
Дан двумерный массив целых чисел, items1 и items2, представляющие собой два множества элементов. Каждый из данных массивов обладает следующими свойствами:
  • items[i] = [valuei, weighti], где valuei обозначает значение, а weighti обозначает вес  iго элемента;
  • значение каждого элемента уникально.

Верните двумерный массив ret, где ret[i] = [valuei, weighti], в котором weighti является суммой весов всех значений valuei.
Массив ret должен быть отсортирован по возрастанию по значению value.



Входные данные
Программа получает на вход в первой строке целое число n1 - количество элементов в массиве items1. Далее следуют n1 строк, в каждой из которых записаны два целых числа valuei, weighti - элементы первого массива и их веса.
В следующей строке записано целое число n2 - количество элементов в массиве items2. Далее следуют n2 строк, в каждой из которых записаны два целых числа valuei, weighti - элементы второго массива и их веса.

Ограничения на входные данные:
  • 1 <= n1, n2 <= 1000
  • items1[i].len() == items2[i].len() == 2
  • 1 <= valuei, weighti <= 1000
  • Каждое значение valuei в items1 уникально.
  • Каждое значение valuei в items2 уникально.

Выходные данные
Выведите массив ret в требуемом формате (см. пример)
 
 
Примеры
№ Входные данные Выходные данные
1
3
1 1
4 5
3 8
2
3 1
1 5
[[1, 6], [3, 9], [4, 5]]
2
3
1 1
3 2
2 3
3
2 1
3 2
1 3
[[1, 4], [2, 4], [3, 4]]
✓ 37✗ 27700средняяВойти и решать

На заключительный этап МОШ по информатике в 2023 году пришло N участников. Так получилось, что у каждого ребенка на каком либо из предметов одежды было записано одно число. При регистрации, один из организаторов решил записать все эти числа. Позже выяснилось, что каким-то чудесным образом, все участники зарегистрировались в порядке неубывания этих чисел на одежде.  

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


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

В первой строке входного файла содержится единственное число N (0 <= N <= 105) — количество участников заключительного этапа. В следующей строке находятся N упорядоченных по неубыванию неотрицательных целых чисел, не превосходящих 109 и разделенных пробелами — числа, записанные у участников на одежде. В третьей строке файла записано число M (1<=M<=100000) — количество чисел, информацию о которых хотят узнать судьи. В четвертой строке через пробел записаны M целых неотрицательных чисел (не превышающих 109+1).


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

Выведите M чисел, каждое в отдельной строке. Для каждого заданного в четвертой строке числа  выведите количество участников с таким числом на одежде.

Два числа a и b записаны в двоичной системе счисления. Запись обоих имеет длину 2n. Обе записи разбиты на n блоков по 2 стоящие рядом цифры. В каждом из чисел вы можете сколько угодно раз менять два произвольных блока местами. Какое максимальное значение может быть у результата применения побитовой операции XOR к получившимся числам?

Определим операцию побитового исключающего «ИЛИ» (XOR). Пусть даны два целых неотрицательных двоичных числа x и y длины k (возможно с ведущими нулями): xk-1...x2x1x0 и yk-1...y2y1y0. Здесь xi это i-й бит числа x, а yi это i-й бит числа y. Пусть r = x XOR y - результат операции XOR над числами x и y. Тогда двоичной записью r будет rk-1...r2r1r0, где:  

\(r_i = \begin{cases} 1, ~ \text{если} ~ x_i ~ \neq ~ y_i \\ 0, ~ \text{если} ~ x_i ~ = ~ y_i \end{cases}\)



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

В первой строке содержится одно целое число n (1 <= n <= 100000) - количество блоков по две цифры в записях обоих числах. Во второй строке задана запись числа a. В третьей строке задана запись числа b.

Для удобства блоки разделены символом «|».


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

В единственной строке вам необходимо вывести одно двоичное число из n блоков, которое является ответом на задачу, в таком же блочном формате, в каком заданы числа a и b.


Примечание

В первом примере можно поменять два соседних блока в первом числе, получится 11|00  XOR  00|10=11|10.

Во втором примере любая перестановка цифр не меняет a  XOR  b. Обратите внимание, что длина выводимого числа должна состоять из n блоков, поэтому надо выводить блоки из лидирующих нулей.

В третьем примере можно получить 101001 из a и 010100 из b.

 

Примеры
№ Входные данные Выходные данные
1
2
00|11
00|10
11|10
2
3
00|00|00
00|00|00
00|00|00
3
3
10|10|01
00|01|01
11|11|01

Дано число, сбросьте младший ненулевой бит (т.е. первую справа единицу замените на ноль).

Запрещается использовать ветвления и циклы. 
 

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

Одно неотрицательное число a.


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

Выведите результирующее число.

 

Примеры
№ Входные данные Выходные данные
1 1 0
2 5 4
 

Дано число, замените младший нулевой бит (первый справа ноль) на единицу.

Запрещается использовать ветвления и циклы. 
 

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

На вход программа получает неотрицательное число a.


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

Выведите результирующее число.

 

Примеры
№ Входные данные Выходные данные
1 0 1
2 5 7
Даны числа a и b. Не используя операции *, /, //, % вычислите их произведение.
 

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

Даны два числа a и b.


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

Выведите произведение чисел a и b.

 

Примеры
№ Входные данные Выходные данные
1 5 2 10

Напишите программу, которая выводит все биты 8-битного числа  N. 
 

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

Дано целое число N (0 <= N <= 255).


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

Выведите число  N в битовой форме: 8 бит, старшие биты слева, младшие – справа.

 

Примеры
№ Входные данные Выходные данные
1
5
00000101
 


 

Напишите программу, которая определяет значение k-го бита числа  N. 

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

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

Дано целое число N и натуральное число k.


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

Выведите на экран значение заданного бита (0 или 1).

 

Примеры
№ Входные данные Выходные данные
1 5 1 0
 


 

Напишите программу, которая сбрасывает (устанавливает 0) все биты числа N кроме последних k битов.  Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!

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

Дано целое число N и натуральное число k.


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

Выведите на экран число, полученное после сбрасывания битов.

 

Примеры
№ Входные данные Выходные данные
1 5 1 1
 


 

Напишите программу, которая сбрасывает (устанавливает 0) k-й бит числа  N. Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

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

Дано целое число N (N<109) и натуральное число k (k<109).


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

Выведите на экран число, полученное после сбрасывания заданного бита.

 

Примеры
№ Входные данные Выходные данные
1 5 2 1
 


 

Напишите программу, которая инвертирует k-й бит числа  N. Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

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

Дано целое число N и натуральное число k.


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

Выведите на экран число, полученное после инвертирования заданного бита.

 

Примеры
№ Входные данные Выходные данные
1 5 2 1
 

 

Напишите программу, которая устанавливает 1 в k-й бит числа  N. Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

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

Дано целое число N и натуральное число k.


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

Выведите на экран число, полученное после установки в 1 заданного бита.

 

Примеры
№ Входные данные Выходные данные
1 5 1 7
 
 

Громозека записал на листочек n чисел ai. Затем он выполняет над массивом следующую операцию

  • выбирает два различных целых числа i, j (1 <= i < j <= n) и заменяет ai на x и aj на y. Чтобы не нарушать массив, Громозека следить чтобы выполнялось условия ai|aj=x|y, где | обозначает побитовое ИЛИ. Заметьте, что x и y это целые неотрицательные числа.

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


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

Первая строка  входных данных содержит целое число n (2 <= n <= 100) -  количество чисел, которые записал Громоезка на листочке. Вторая строка входных данных содержит n целых чисел a1,a2,…,an (0<=ai<=230).


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

Выведите минимальную возможную сумму массива.



Примеры
№ Входные данные Выходные данные
1
3
1 3 2
3
2
5
1 2 4 8 16
31
3
2
6 6
6
4
3
3 5 6
7
 
2^k#44570

Напишите программу, которая по заданному числу k (0 <= k <= 31) выводит на экран число 2k, то есть число, у которого k-й бит равен 1, а остальные - нули.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

Примеры
№ Входные данные Выходные данные
1 5 32

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

Эта операция определена над двоичным представлением чисел.

Определим операцию побитового исключающего «ИЛИ» (XOR). Пусть даны два целых неотрицательных двоичных числа x и y длины k (возможно с ведущими нулями): xk-1...x2x1x0 и yk-1...y2y1y0. Здесь xi это i-й бит числа x, а yi это i-й бит числа y. Пусть r = x XOR y - результат операции XOR над числами x и y. Тогда двоичной записью r будет rk-1...r2r1r0, где:  

\(r_i = \begin{cases} 1, ~ \text{если} ~ x_i ~ \neq ~ y_i \\ 0, ~ \text{если} ~ x_i ~ = ~ y_i \end{cases}\)



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

В первой строке содержится одно целое число n (1 <= n <= 100000) - длина записи чисел. Во второй строке задана запись числа a. В третьей строке задана запись числа b.

Буквы A, B, C, D, E, F отвечают за цифры 10, 11, 12, 13, 14, 15 в шестнадцатеричной системе счисления соответсвенно. Записи могут содержать ведущие нули.


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

В единственной строке вам необходимо вывести одно шестнадцатеричное число длины n, которое является ответом на вопрос из условия.


Примечание

В первом примере можно поменять две соседние цифры в первом числе, получится F0 XOR 0E = FE.

Во втором примере любая перестановка цифр не меняет a  XOR  b. Обратите внимание, что длина выводимого числа должна быть равна n, поэтому надо выводить лидирующие нули.

В третьем примере можно получить 101010 из a и 010100 из b.

 
Примеры
№ Входные данные Выходные данные
1
2
0F
0E
FE
2
3
000
000
000
3
6
010110
011000
111110
Поделиться
Класснуть