Информатика

16 015 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
Недавно Петя занялся изучением Excel. Сегодня он узнал о возможности условного форматирования: для каждой непустой ячейки выбранной строки можно применить логическое выражение, при истинности которого ячейка будет окрашена в соответствующий цвет.
Петя придумал два числа a и b, а затем применил следующее условное форматирование: если число в ячейке меньше либо равно a или строго больше b, то ячейка окрашивается в красный цвет. П
о данным n ячейкам строки и числам a и b, найдите число ячеек, которые покрасятся в красный цвет.
Формат входного файла
В первой строке  находится одно натуральное число n — число непустых ячеек в строке (1 ≤ n ≤ 100). Во второй строке через пробел записаны n целых чисел ci — значения, записанные в непустых ячейках строки (1 ≤ ci ≤ 1000). В третьей строке через пробел записаны два целых числа a и b (1 ≤ a < b ≤ 1000) — придуманные Петей числа.
Формат выходного файла
Выведите одно число — число красных ячеек, после применения условного форматирования.
 
Ввод Вывод
4
1 2 3 4
1 4
1
5
6 2 1 8 3
3 6
4
Шифрование - это преобразование информации, делающее ее нечитаемой для посторонних. При этом доверенные лица могут провести дешифрование и прочитать исходную информацию.
Одним из самых известных алгоритмов шифрования является шифр Цезаря. Чтобы зашифровать последовательность, к каждому элементу последовательности прибавляется некоторое целое число. Так, например, из последовательности {1, 2, 3, 4} можно получить последовательность {5, 6, 7, 8} применением шифра Цезаря с ключом «+4».
Вы смогли перехватить две последовательности чисел A и B, которые оказались одинаковой длины. Нужно проверить, могла ли первая из них быть получена из второй применением шифра Цезаря.

Формат входных данных
В первой строке задано одно число n - длина последовательности (1≤n≤1000). Во второй строке находятся n целых чисел a1, a2, ..., an - последовательность A (−104 ≤ai≤104 ). В третьей строке находятся n целых чисел b1, b2, ..., bn - последовательность B (−104 ≤bi≤104 ).

Формат выходных данных
Выведите NO, если последовательность A нельзя получить из последовательности B шифром Цезаря, иначе выведите YES, а в следующей строке выведите ключ шифра с учетом знака.
Ввод Вывод
4
1 2 3 4
5 6 7 8
YES
4
2
1 2
2 1
NO
1
-1
-2
YES
-1

 
В витрине ювелирного магазина стоит манекен, на шею которого надето ожерелье. Оно состоит из N колечек, нанизанных на замкнутую нить. Все колечки имеют разные размеры. В зависимости от размера колечки пронумерованы числами от 1 до N, начиная с самого маленького и до самого большого. Колечки можно передвигать вдоль нити и протаскивать одно через другое, но только в том случае, если номера этих колечек отличаются более чем на единицу.

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

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

Входные данные
Первая строка входных данных содержит  число N (2 ≤ N ≤ 50).

Во второй строке через пробел следуют N различных чисел от 1 до N — номера колечек, расположенных вдоль нити по часовой стрелке.

Выходные данные
Ваша программа должна вывести описание процесса упорядочения.

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

Количество выводимых строк  не должно превышать 50000.

Если требуемого упорядочения колечек достичь не удается,  программа должна вывести одно число –1
 
Ввод Вывод
4
3 1 2 4
4 2
4 1
0
В одной из компьютерных игр-квестов есть следующее задание. На карте игрового мира размещены N персонажей, с каждым из которых может встретиться игрок. От общения с i-м персонажем карма игрока меняется на величину ai, которая может быть как положительной, так отрицательной или даже нулем.

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

Комнаты, в которых находятся персонажи, соединены односторонними магическими порталами, поэтому игроку придется встречать персонажей в определенной последовательности: после персонажа номер i он попадает к персонажу номер i + 1, затем к персонажу номер i + 2, и т.д. В комнате последнего персонажа с номером N портала к другому персонажу нет.

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

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

Входные данные
В первой строке входных данных записаны два числа: количество персонажей N и необходимый уровень кармы K (|K| ≤ 109, K ≠ 0). Во второй строке через пробел записаны N целых чисел a1, a2, ..., aN — величины, на которые меняется карма героя после общения с персонажами с номерами 1, 2, ..., N соответственно.

Выходные данные
Выведите номер комнаты, в которую надо войти игроку и номер комнаты, из которой надо выйти, чтобы набрать карму K. Если возможных вариантов несколько, то необходимо вывести самый короткий путь, а если и таких несколько, то путь, начинающийся в комнате с как можно большим номером. Если достичь кармы K последовательно общаясь с персонажами невозможно, то выведите одно число  - 1.
 
Ввод Вывод
5 3
-2 2 -1 2 4
2 4
7 1
1 -1 1 -1 1 -1 2
5 5
4 3
2 2 2 2
-1

 

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

Каждая задача тестируется на некотором числе тестов. Результаты каждого теста отображаются в окне результатов. 
Ваша цель - за каждую задачу получить 100% выполненных тестов. 
Удачи!

ПРОГРАММА:

import java.io.*;
import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        PrintWriter out = new PrintWriter(System.out);

        int a = in.nextInt();
        int b = in.nextInt();
        System.out.println(a + b);
    }
}

Дана строка. Замените в этой строке все цифры 1 на слово one.


Входные данные 
Вводится строка.

Выходные данные 
Выведите ответ на задачу.
 
Примеры
№ Входные данные Выходные данные
1 1+1=2 one+one=2

Дана строка, в которой буква h встречается минимум два раза. Удалите из этой строки первое и последнее вхождение буквы h, а также все символы, находящиеся между ними.

Входные данные
Вводится строка.

Выходные данные
Выведите ответ на задачу.

 

Примеры
№ Входные данные Выходные данные
1 In the hole in the ground there lived a hobbit In tobbit

Дана строка. Удалите из этой строки все символы @.

Входные данные
Вводится строка.

Выходные данные
Выведите ответ на задачу.

 

Примеры
№ Входные данные Выходные данные
1 Bilbo.Baggins@bagend.hobbiton.shire.me Bilbo.Bagginsbagend.hobbiton.shire.me

Дана строка. Получите новую строку, вставив между двумя символами исходной строки символ *. Выведите полученную строку.

Входные данные
Вводится строка.

Выходные данные
Выведите ответ на задачу.

Примеры
№ Входные данные Выходные данные
1 Python P*y*t*h*o*n
При решении задачи используйте срезы.

Входные данные
Дана строка.

Выходные данные
Выведите на экран: 
  • сначала третий символ этой строки;
  • во второй строке предпоследний символ этой строки;
  • в третьей строке первые пять символов этой строки;
  • в четвертой строке всю строку, кроме последних двух символов;
  • в пятой строке все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого);
  • в шестой строке все символы с нечетными индексами, то есть начиная со второго символа строки;
  • в седьмой строке все символы в обратном порядке;
  • в восьмой строке все символы строки через один в обратном порядке, начиная с последнего;
  • в девятой строке длину данной строки.
 
Примеры
№ Входные данные Выходные данные
1 Abrakadabra r
r
Abrak
Abrakadab
Arkdba
baaar
arbadakarbA
abdkrA
11
Дано одно слово (все буквы строчные, словом считается любая последовательность символов без пробелов).
Выведите слово YES, если исходное слово является палиндромом (слово, которое одинаково читается как слева направо, так и справа налево). В противном случае выведите NO и на новой строке индекс первого символа с начала исходной строки, который не позволяет построить палиндром. 
 
Примеры
№ Входные данные Выходные данные
1 level YES
2 sags NO
1
На вход подается битовая строка - строка, состоящая из 0 и 1. Дополните исходную строку последним битом - битом чётности. Бит чётности равен 0, если в исходной строке чётное число единиц, и равен 1, если нечётное (в получившейся строке должно быть всегда чётное число единиц).
 
Примеры
№ Входные данные Выходные данные
1 00110010 001100101
На вход программе подаются две строки:
- в первой строке задается слово s;
- во второй - три целых числа a, b, c (каждое число находится в диапазоне [-len(s); len(s)-1])

Выведите на экран новое слово, образованное символами с индексами a, b, c (в указанном порядке)
 
Примеры
№ Входные данные Выходные данные
1 информатика
2 3 4
фор
Входные данные
В первой строке задается имя пользователя.

Выходные данные
Выведите на экран:
1) в первой строке - приветствие пользователю в виде "Hello, имя!" (без кавычек)
2) во второй строке - выведите имя пользователя 10 раз через пробел.
✓ 7 067✗ 24 820100лёгкаяВойти и решать
Дорожка замощена плитками в один ряд, плитки пронумерованы числами от 1 до 1000. На плитках с номерами A, B и C (A < B < C) сидят три кузнечика, которые играют в чехарду по следующим правилам:
1. На одной плитке может находиться только один кузнечик.
2. За один ход один из двух крайних кузнечиков (то есть с плитки A или с плитки C) может перепрыгнуть через среднего кузнечика (плитка B) и встать на плитку, которая находится ровно посередине между двумя оставшимися кузнечиками (то есть между B и C или A и B соответственно). Если между двумя оставшимися кузнечиками находится чётное число плиток, то он может выбрать любую из двух центральных плиток.
Например, если кузнечики первоначально сидели на плитках номер 1, 5, 10, то первым ходом кузнечик с плитки номер 10 может перепрыгнуть на плитку номер 3 (она находится посередине между 1 и 5), или кузнечик с плитки номер 1 может перепрыгнуть на плитку номер 7 или 8 (эти две плитки находятся посередине между плитками 5 и 10).
Даны три числа: A, B, C. Определите, какое наибольшее число ходов может продолжаться игра.

Формат входных данных
Программа получает на вход три целых числа A, B и C (1 <= A < B < C <= 1000), записанных в отдельных строках.
Формат выходных данных
Выведите одно число — наибольшее количество ходов, которое может продолжаться игра.
 
Ввод Вывод Примечание
1
4
6
2 В примере сначала кузнечик с плитки №6 прыгает на плитку №3. Затем кузнечик с плитки №4 прыгает на плитку №2.
Натуральное число называется палиндромом, если его запись в десятичной системе счисления одинаково читается как слева направо, так и справа налево. По данному натуральному числу N определите следующее за ним натуральное число (то есть наименьшее число, которое превосходит N), являющееся палиндромом.
Программа получает на вход одно натуральное число N.
Программа должна вывести наименьшее натуральное число, которое больше N и является палиндромом.
 
Ввод Вывод
4321 4334
Андрей готовился к ЕГЭ по информатике и встретил в демо-версии ЕГЭ 2015 года такую задачу:
Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также третья и четвёртая цифры исходного числа.
2. Полученные два числа записываются друг за другом в порядке убывания (без разделителей).
Пример. Исходное число: 3165. Суммы: 3+1 = 4; 6+5 = 11. Результат: 114.
Укажите наименьшее число, в результате обработки которого автомат выдаст число 1311.

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

Программа должна вывести такое наименьшее целое четырёхзначное число K, после применения к которому описанного выше алгоритма получается число N. Если же такого числа не существует, программа должна вывести число 0.
 
Ввод Вывод
1311 2949

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

Входные данные: Входная строка содержит два натуральных числа.

Выходные данные: Программа должна вывести слово 'YES', если полученные числа – дружественные, и слово 'NO' в противном случае.

Примеры
№ Входные данные Выходные данные
1 220 284 YES
2 1210 1092 NO

Петя создает поле для своей новой игры. Поле разделено на клетки и представляет собой прямоугольник размером N на M клеток. Пусть клетки имеют координаты от 1 до N слева направо по горизонтали и от 1 до M снизу вверх по вертикали.

На этом поле Петя уже разместил супермаркет, который представляет собой прямоугольник размером C на D клеток (C –– размер по горизонтали, D –– по вертикали), и нижняя левая клетка супермаркета имеет координаты A, B на игровом поле (см. примеры и рисунки). Теперь Пете нужно разместить на том же игровом поле здание биржи. Здание биржи представляет собой прямоугольник размером E на F клеток (E –– по горизонтали, F –– по вертикали). Естественно, что здание биржи должно полностью располагаться на игровом поле и не должно иметь общих клеток с супермаркетом (но может касаться его).

Сколькими способами Петя сможет разместить здание биржи?

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

Вводятся числа N, M, A, B, C, D, E, F, каждое в отдельной строке. Числа удовлетворяют следующим условиям: 1 ≤ N ≤ 100, 1 ≤ M ≤ 100, 1 ≤ A ≤ N, 1 ≤ B ≤ M, 1 ≤ A + C - 1 ≤ N, 1 ≤ B + D - 1 ≤ M, 1 ≤ E ≤ N, 1 ≤ F ≤ M.

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

Выведите количество способов разместить здание биржи.

 

Ввод Вывод
6
5
2
3
3
2
1
2
15
4
4
2
2
3
2
2
2
0
6
5
1
1
3
3
3
3
3

Примечание

Рисунки ниже соответствуют приведенным примерам. На рисунках серым показано здание супермаркета. Точками отмечены варианты размещения нижнего левого угла здания биржи.



 
Поделиться
Класснуть