Линейные алгоритмы

188 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
План эвакуации из здания нарисован в виде плоскости xy. В здании N кабинетов и M лестниц, ведущих к выходу. Координаты i-го кабинета (\( 1<=i<=N\)) - \((a_i, b_i)\), а координаты лестниц с номером j (\( 1<=j<=M\)) - \((c_j, d_j)\). Во время пожарной тревоги, все люди, находящиеся в конкретном кабинете должны эвакуироваться по ближайшей лестнице. Ближайшая лестница определяется по Манхэттенскому расстоянию между двумя точками \((x_1, y_1)\) и \((x_2, y_2)\) по формуле \(|x_1-x_2| + |y_1-y_2|\). Здесь \(|x|\) обозначает абсолютное значение x. Если для кабинета есть несколько ближайших лестниц, то эвакуироваться необходимо по лестнице с наименьшим индексом. 
Определите по какой лестнице должны эвакуироваться люди, находящиеся в каждом кабинете.

Входные данные
В первой строке задаются два целых числа N и M (\(1<=N,M<=50\)).   Далее идет N строк по два целых числа в кажой строке - координаты \((a_i, b_i)\), затем M строк по два целых  числа в кажой строке - координаты \((c_i, d_i)\)\(-10^8<=a_i ,b_i,c_j,d_j<=10^8\)

Выходные данные
Выведите N строк. В i-й строке (\( 1<=i<=N\)) должен быть указан индекс лестницы, по которой эвакуируются из i-го кабинета.
 

 

Примеры
Входные данные Выходные данные
1 2 2
2 0
0 0
-1 0
1 0
2
1
2 3 4
10 10
-10 -10
3 3
1 2
2 3
3 5
3 5
3
1
2
3 5 5
-100000000 -100000000
-100000000 100000000
100000000 -100000000
100000000 100000000
0 0
0 0
100000000 100000000
100000000 -100000000
-100000000 100000000
-100000000 -100000000
5
4
3
2
1

 

Для хранения текста в памяти компьютера отводится целое число байт. Текст занимает N бит. Какое минимальное число байт потребуется для хранения данного текста? Напишите программу.

Входные данные
Вводится целое число N

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

Примеры
Входные данные Выходные данные
1 8 1
2 9 2
 
 
Дана последовательность из N целых чисел (они могут быть положительными, отрицательными или равными 0). Необходимо выбрать из этих чисел два числа так, чтобы их произведение было как можно меньшим (не рассматриваются квадраты данных чисел, но можно выбрать произведение двух различных элементов последовательности, равных друг другу).
В первой строке входных данных записано целое число N, 2 ≤ N ≤105 – количество данных чисел. Следующие N строк содержат сами числа, не превосходящие по модулю 40 000.
Программа должна вывести единственное целое число – наименьшее возможное произведение двух различных элементов этой последовательности.
Примеры
Входные данные Выходные данные
1 3
1
-3
2
-6
Володе очень понравились задачи олимпиады по информатике, поэтому он решил ходить на занятия кружка по программированию. Придя на первое занятие кружка, он узнал, что занятия будут проходить еженедельно в один и тот же день недели. Помогите Володе составить календарь занятий до конца года – определите даты всех занятий, начиная с первого занятия и до конца года.
Программа получает на вход два числа, записанных в разных строках: номер месяца и номер дня месяца, когда проходит первое занятие. Номер месяца может быть одним из четырёх возможных чисел – 9, 10, 11, 12. Номер дня месяца – число от 1 до 30 для сентября и ноября (месяцы с номерами 9 и 11) или от 1 до 31 для октября и декабря (месяцы с номерами
10 и 12). 
Программа должна вывести даты всех занятий кружка до конца года в хронологическом порядке, по одной дате в строке, сначала месяц, затем день месяца, через пробел. Занятия проходят еженедельно, в тот же день недели, что и первое занятие. Формат вывода дат такой же, как в условии. Считайте, что каникулы отсутствуют, а последнее занятие может происходить в любой день декабря, в том числе и 31 числа.
 
Примеры
Входные данные Выходные данные
1 11
20
11 20
11 27
12 4
12 11
12 18
12 25
Для пополнения бюджета в стране Авалон, известной своими горными туристическими маршрутами, ввели новый налог для туристов. Величина налога
пропорциональна длине маршрута, но, поскольку маршрут проходит по горам и пройденное расстояние, зависящее от высоты спуска и подъёма, подсчитать сложно, налог считается без
учёта высоты, то есть величина налога пропорциональна горизонтальному перемещению, совершённому туристической группой. Кроме того, в силу старинного обычая все
туристические группы должны перемещаться по горам Авалона строго с запада на восток. Турфирма хочет сэкономить на налоге, поэтому она хочет разработать туристический
маршрут с минимальной величиной налога. При этом, поскольку маршрут является горным, он должен содержать подъём в гору и спуск с горы, то есть на маршруте должна быть точка,
которая находится строго выше начала и конца маршрута. 
Турфирма составила карту гор Авалона, содержащую информацию о высоте гор при передвижении с запада на восток. Высоты гор измерены в точках через равные расстояния. 
Найдите на данной карте гор Авалона туристический маршрут минимальной длины, удовлетворяющий условию наличия подъёма и спуска.
Первая строка входных данных содержит число N – количество точек на карте гор Авалона. Следующие N строк содержат информацию о высоте гор в данных N точках при движении с запада на восток. Все числа натуральные, не превосходящие 105.
Программа должна вывести два числа – номер точки начала маршрута и номер точки окончания маршрута. Точки нумеруются от 1 до N. Если маршрута, удовлетворяющего
условиям, не существует, программа должна вывести одно число 0.
Примеры
Входные данные Выходные данные Пояснение
1 7
18
10
15
20
20
10
3
3
6
Дано 7 точек с высотами 18, 10, 15, 20, 20, 10, 3. Самый короткий маршрут, содержащий подъём и
спуск, – это 15, 20, 20, 10. Он начинается в точке номер 3 и заканчивается в точке номер 6.
 
2 3
9
8
5
0 Высота гор монотонно убывает, поэтому искомого маршрута не существует.
В детском саду Сластена N детей. Анна Николаевна выстраивает детей в линию, затем раздает 1 конфету первому ребенку, 2 конфеты второму ребенку, ..., N конфет N-му ребенку. Сколько всего конфет потребуется Анне Николаевне?

Входные данные
На вход подается целое число N (\(1 <= N <=100\)).

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

 

Примеры
Входные данные Выходные данные
1 3 6

 

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

Входные данные
Во входной строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 <= N , M <= 100 ).
 

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

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

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

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

Удачи!
 

Программа
var 
    a, b: longint;
begin
    read(a, b);
    writeln(a + b)
end.

 

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

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

ПРОГРАММА:

using System;
class Program 
{
    static void Main(string[] args)
    {
        int a= Convert.ToInt32(Console.ReadLine());
                Console.WriteLine(a*a);
    }
}

 

По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания. Из арифметических операций разрешается использовать только сложение и вычитание.

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

Выходные данные: выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 50 1 4 9 16 25 36 49
 В библиотеке на стеллажи расставляют книги. Книги ставятся на полки ровно по  K штук на каждую, если полка не может быть заполнена полностью, она остается пустой. В каждом стеллаже по М полок. Последний стеллаж может быть заполнен не полностью. Всего имеется N книг. Сколько всего понадобится стеллажей, сколько полок будет заполнено на последнем стеллаже и сколько книг останется не выставлено на стеллажи (выставить нужно как можно больше книг)? Написать программу: вводятся три числа целых N, M, K в одной строке; вывести три числа в одной строке - сначала количество потребовавшихся стеллажей, затем количество заполненных книгами полок на последнем стеллаже, а затем количество не выставленных книг
 
Примеры
Входные данные Выходные данные
1 50 70 8 1 6 2
 

 
 
В мире волшебников серебряный сикль равняется 29 бронзовым кнатам, а 17 сиклей равны 1 золотому галеону. В мире маглов галеон равен примерно 5 фунтам. Однако курс обмена может меняться.

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

Перед началом каждого раунда программа сообщает, на какую тему будет очередное волшебное задание и Рон делает ставку на то, что он справится с заданием. В самом начале игры Рон всегда делает ставку в 1 сикль. Если Рон выполняет задание правильно, то он выигрывает раунд и ставка плюсуется к его счету. Если у него ничего не получилось, то он проигрывает, и ставка вычитается из его счета. Рон очень азартный, поэтому после проигрыша всегда увеличивает ставку в 2 раза. Однако после выигрыша, дабы не вспугнуть удачу, Рон всегда снижает ставку до 1 сикля. Наконец, одолев очередное задание, и выиграв этот раунд, Рон решает закончить игру.

Например, пусть Рон правильно выполнил первое задание (выиграл начальную ставку в 1 сикль, поставил на следующий раунд 1 сикль), затем не выполнил второе задание (проиграл 1 сикль и удвоил ставку), не справился с третьим заданием (проиграл 2 сикля и снова удвоил ставку), но четвертое задание ему все-таки удалось выполнить (выиграл 4 сикля, сбросил ставку на 1 сикль). Затем он правильно выполняет и пятое задание (выиграл 1 сикль) и заканчивает игру. Итого на его счету после игры: 1 – 1 – 2 + 4 + 1 = 3 сикля.

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

Входные данные: Первая строка содержит целое число N (0 < N ≤ 2000) — количество заданий, которое выполнил Рон. В следующих N строках располагаются числа 0 или 1 (по одному числу в строке): 1, если Рон выполнил очередное задание, и 0 – если не выполнил
Выходные данные: Выведите одно целое число — выигрыш или проигрыш Рона (выигрыш определяется положительным числом, а проигрыш – отрицательным).

Примеры
Входные данные Выходные данные
1 5
1
1
0
1
1
4
 Принцесса Эмбер, ее брат и София учатся в Академии волшебников, где у них также есть математика (никто же не сомневается, что математика важна волшебникам так же, как и знание различных заклинаний). Недавно учитель математики поведал детям о хитром способе возведения в квадрат натуральных чисел, оканчивающихся на цифру 5. Теперь ребята могут с легкостью возводить в квадрат двузначные (и даже некоторые трехзначные) числа, оканчивающиеся на 5. Способ заключается в следующем: для возведения в квадрат числа, оканчивающегося на 5, достаточно умножить число, полученное из исходного вычеркиванием последней пятерки на следующее по порядку число, затем остается лишь приписать «25» к получившемуся результату справа. Например, для того, чтобы возвести число 125 в квадрат достаточно 12 умножить на 13 и приписать 25, т.е. приписывая к числу 12*13=156 число 25, получаем результат 15625, т.е. 1252=15625.
Эмбер решила потренироваться в новом навыке, и хочет, чтобы ее кто-то проверил. Но так как она слишком горда, чтобы просить чьей-то помощи в Королевстве, она просит Вас написать для нее программу, по которой бы она смогла себя проверить.
Входные данные: на вход подается целое число \(A\), оканчивающееся цифрой 5 и не превышающее \(400005\)
Выходные данные: выведите одно число - \(A^2\)

Пример
Входные данные
125
Выходные данные
15625

Волшебник Седрик пригласил принцессу Софию и ее друзей поиграть в свою версию старинной игры "Городки".  Седрик расставил несколько столбиков в ряд, которые необходимо сбить битой по порядку. Седрик сбивал столбики один за другим, начиная с самого левого, София — с самого правого. В какой-то момент они сбили последний столбик вместе.

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

Входные данные
На вход подается два числа - количество столбиков, которые сбил Седрик и София соответственно (каждое не больше 100)
Выходные данные
Выведите количество столбиков, которые были установлены в начале игры

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

4 7
Выходные данные
10

Кролик Клевер очень любит яблоки. Также он любит угощать яблоками своих друзей. У Кролика N друзей. Он насобирал в саду K яблок и хочет их поделить поровну между своими друзьями, Неделящийся остаток остается в корзинке. Сколько яблок достанется каждому другу и сколько яблок у него останется в корзине? Помогите Кролику Клеверу посчитать эту информацию. 
Напишите для него программу.

Программа получает на вход два числа через пробел:  N - количество друзей у кролика (не более 1000), K - количество яблок (не более 1000000)
Вам необходимо вывести в первой строке число яблок, которые достанутся каждому другу
Во второй строке - число яблок, которые останутся в корзинке

Примеры входных и выходных данных:
Входные данные
10  25
Выходные данные
2
5
Напишите программу, которая по заданным двум числам a и b, выводит на экран результат целочисленного деления и остаток, в заданном формате (смотри примеры)

На вход программы подается два числа: a и b
Необходимо вывести две строки:
в первой строке - результат целочисленного деления a на b
во второй строке - остаток от деления a на b
Форма вывода смотри в примере входных и выходных значений

Пример входных и выходных данных
Входные данные
15 6
Выходные данные
15/6=2
15%6=3
Напишите программу, которая вычисляет значение переменной y по формуле:
y=(1-x2+2,5x3+x4)2

Значение переменной x задается с клавиатуры. Типы переменных x и y определите самостоятельно.
Вывести значение переменной y на экран
Образование в Древнем Риме имело важное значение в жизни римлян. Богатые люди Древнего Рима верили в необходимость и важность образования. Бедные жители Рима не имели возможности получить образование, однако многие самостоятельно учились читать и писать.

В Древнем Риме было два типа школ. Первый тип – это школы для маленьких детей в возрасте до 11-12 лет, где они учились писать, читать и изучали основы математики. Дети таких школ могли легко решать различные математические задачи, в том числе продолжить следующую последовательность рядов:

1

11

21

1211

111221

312211

13112221

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

Входные данные
На вход подаются два целых числа через пробел: (\(0 <= x <=100\)) - первый член последовательности и (\(1<=n<=25\)).

Выходные данные 
Выведите n-ый ряд x-ой последовательности.

 
Примеры
Входные данные Выходные данные
1 1 4 1211
Шифрование - это преобразование информации, делающее ее нечитаемой для посторонних. При этом доверенные лица могут провести дешифрование и прочитать исходную информацию.
Одним из самых известных алгоритмов шифрования является шифр Цезаря. Чтобы зашифровать последовательность, к каждому элементу последовательности прибавляется некоторое целое число. Так, например, из последовательности {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

 

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

Каждая задача тестируется на некотором числе тестов. Результаты каждого теста отображаются в окне результатов. 
Ваша цель - за каждую задачу получить 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);
    }
}
Поделиться
Класснуть