Информатика

2 621 задачавместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Однажды царь решил вознаградить одного из своих мудрецов за хорошую работу. Он привел его в прямоугольную комнату размром NxM, в каждой клетке которой лежало несколько килограммов золота. Царь разрешил мудрецу сделать обойти несколько клеток (переходя с клетки, где сейчас находится мудрец, в одну из четырех с ней соседних), и собрать все золото, которое попадется на его пути.
 
Вам дан маршрут мудреца. Требуется определить, сколько килограммов золота он собрал.
 
Входные данные
Входные данные содержат план комнаты и маршрут мудреца. Сначала записано количество строк N, затем - количество столбцов M (1<=N<=20,1<=M<=20).
Затем записано N строк по M чисел в каждой - количество килограммов золота, которое лежит в данной клетке (число от 0 до 50).
Далее записано число X - сколько клеток обошел мудрец. Далее записаны координаты этих клеток (координаты клетки - это два числа: первое определяет номер строки, второе - номер столбца, верхняя левая клетка на плане имеет координаты (1,1), правая нижняя - (N,M)).
Гарантируется, что мудрец не проходил по одной и той же клетке дважды.
 
Выходные данные
В выходной файл выведите количество килограммов золота, которое собрал мудрец.
 
Примеры
Входные данные Выходные данные
1
3 4
1 2 3 4
5 6 7 8
9 10 11 12
5
1 1
2 1
2 2
2 3
1 3
22
 
Треугольник Паскаля строится следующим образом. Первая строка состоит из одного числа, равного единице. Каждая следующая 
содержит на одно число больше, чем предыдущая. Первое и последнее из этих чисел равны 1, а все остальные вычисляются как сумма числа, стоящего в предыдущей строке над ним и числа, стоящего в предыдущей же строке слева от него.
 
Входные данные
Вводится одно целое число N (\(0<=N<=30\)).
 
Выходные данные 
Выведите N строк треугольника Паскаля. Разделяйте числа в строке одним пробелом.
 

Примечание
Все числа в треугольнике Паскаля при указанных ограничениях входят в Longint.
 
 
Примеры
Входные данные Выходные данные
1
8
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
 
В квадратной таблице NxN подсчитать суммы чисел, стоящих на диагоналях.
 
Входные данные
В первой строке содержится число N (1<=N<=100), а затем матрица NxN.  Элементы матрицы - числа, не превосходящие по модулю 32767.
 
Выходные данные
Вывелите сначала сумму чисел на главной,  а затем, через один пробел, - на побочной диагонали.
 
Примеры
Входные данные Выходные данные
1
3
1 2 3
4 5 6
10 9 8
14 18
 
Сортировка
 
Во входном файле задано сначала число N (1<=N<=100),  а затем N целых
чисел, по модулю не превышающих 1000.
 
Выведите N чисел в порядке неубывания.
 
Пример входного файла
5
3 1 2 4 2
 
Пример выходного файла
1 2 2 3 4
Задача Иосифа Флавия
 
Существует легенда, что Иосиф Флавий - известный историк первого века - выжил и стал известным благодаря математической одаренности. 
В ходе иудейской войны он в составе отряда из 41 иудейского воина был загнан римлянами в пещеру. Предпочитая самоубийство плену, воины решили 
выстроиться в круг и последовательно убивать каждого третьего из живых до тех пор, пока не останется ни одного человека. 
Однако Иосиф наряду с одним из своих единомышленников счел подобный конец бессмысленным - он быстро вычислил спасительные места 
в порочном круге, на которые поставил себя и своего товарища. И лишь поэтому мы знаем его историю.
 
В нашем варианте мы начнем с того, что выстроим в круг N человек, пронумерованных числами от 1 до N, и будем исключать каждого k-ого до тех пор, пока не уцелеет только 
один человек. (Например, если N=10, k=3, то сначала умрет 3-й, потом 6-й, затем 9-й, затем 2-й, затем 7-й, потом 1-й, потом 8-й, за ним - 5-й, и потом 10-й. Таким образом, уцелеет 4-й.)
 
Задача: определить номер уцелевшего.
 
Входные данные: числа N и k вводятся из строки. 
Ограничения: 1<=N<=500, 1<=k<=100.
 
Выходные данные: Программа должна выдавать номер уцелевшего человека.
 
Пример входного файла:
10 3
 
Пример выходного файла:
4
В начальный момент в i-ом элементе массива записано число i (всего N элементов). 
Каждую секунду числа сдвигаются в следующую ячейку (из i-ой в i+1-ую), а из N-ой - в первую. 
Напечатать состояние массива через T секунд.


Входные данные
Программа получает на вход строку, в которой записаны два числа - N и T (1<=N<=100) и T (0<=T<=30000).

Выходные данные
Выведите N чисел - состояние массива через T секунд.
 
 
Примеры
Входные данные Выходные данные
1 5 3
3 4 5 1 2
 
 
Дан массив. Требуется вставить в него на место номер B элемент, равный C,
сдвинув все последующие элементы (включая элемент, стоящий на B-ом месте) 
вправо.
 
Входные данные
Во входном файле записано сначала число N - количество элементов массива
(2<=N<=100), затем N чисел из диапазона Integer - элементы массива,
затем число B (1<=B<=N) и число C (из диапазона Integer).
 
Выходные данные
В выходной файл выведите N+1 число - элементы массива с вставленным элементом.
 
Примечание
Вы должны вставить элемент непосредственно в массив, а не сделать
вид при выводе данных, что у вас появился такой элемент. Также вы не 
должны для этого заводить в программе дополнительный массив.
 
 
Пример входного файла
5
1 3 5 6 7
2 10
 
Пример выходного файла
1 10 3 5 6 7
 
Дано N целых чисел. Требуется выбрать из них три таких числа, произведение которых максимально.
 
Входные данные: 
На вход подается сначала число N - количество чисел в последовательности (\(3<=N<=100\)).
Далее идет сама последовательность: N целых чисел, по модулю не превышающих 1000.
 
Выходные данные:
Выведите три искомых числа в любом порядке. 
Если существует несколько различных троек чисел, дающих максимальное произведение, то выведите любую из них.

Примеры
Входные данные Выходные данные
1
9
3 5 1 7 9 0 9 -3 10
9 10 9
2
3
-5 -300 -12
-5 -300 -12
 
✓ 65✗ 262700средняяВойти и решать
Дан ориентированный невзвешенный связный граф. Требуется определить, содержит ли он циклы.
 
Входные данные: Первая строка содержит одно натуральное число n — количество вершин (0 ≤ n ≤ 1 111).
Следующие n строк содержат матрицу смежности графа. Если в позиции (i, j) квадратной матрицы стоит единичка, то i-ый и j-ый ребра соединены ребрами, а если нолик, то не соединены. При этом ребро направленно из i-ого в j-ое ребро графа, и j-ое и i-ое ребро не соеденены ребрами.
 
Выходные данные: Первая строка должна содержать YES, если граф содержит цикл и NO — в противном случае.

Примеры
Входные данные Выходные данные
1
8
0 1 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 1 1 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
YES

 
Даны N отрезков прямой. Найти длину общей части всех этих отрезков.
 
Входные данные Вводится сначала число N (1<=N<=100). Далее вводится N пар чисел, задающих координаты левого и правого концов каждого отрезка. Все координаты - числа из диапазона от 0 до 30000. Левый конец отрезка всегда имеет координату строго меньшую, чем правый.
 
Выходные данные Выведите длину общей части этих отрезов. Если у всех этих отрезков общей части нет, выведите 0.
 
Примеры
Входные данные Выходные данные Пояснение
1
3
1 10
3 15
2 6
3 общая часть этих отрезков - отрезок от 3 до 6.
2
3
1 10
2 20
11 20
0 у этих отрезков нет общей части
 
 
Вводится число N, а затем N чисел - элементов массива (\(1<=N<=100\)), элементы массива - натуральные числа, не превышающие 100. 
Необходимо определить номера мест в массиве, на которых стоят  одинаковые элементы, или два числа 0 (то есть 0 0), если все элементы различны. Если есть несколько пар чисел, являющихся ответом, вывести любую из них.


Входные данные
В первой строке задается натуральное число N - количество чисел. Во второй строке - N натуральных чисел (\(2<=N<=100\), все числа не превышают 100).

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1
1 2 1 3 4     
1 3
2
4
1 2 3 4
0 0
Среди заданных N натуральных чисел определить сколько среди них пар одинаковых чисел, стоящих рядом.

Входные данные
В певрой строке задается натуральное число N - количество чисел. Во второй строке - N натуральных чисел (\(2<=N<=100\), все числа не превышают 100).

Выходные данные
Выведите одно число - количество пар одинаковых чисел, стоящих рядом.
 
 
Примеры
Входные данные Выходные данные
1
5
1 3 2 2 3
1
2
4
1 1 1 1
3
Даны два числа. Найти их наибольший общий делитель.
 
Входные данные 
Вводятся два натуральных числа, не превышающих 30000.
 
Выходные данные 
Выведите НОД введенных чисел.
 
 
Примеры
Входные данные Выходные данные
1 42 12 6
 
Вводится последовательность чисел. Посчитать в ней количество четных чисел, стоящих на четных местах.
 
Входные данные
Вводится сначала число N, а затем N чисел - члены последовательности.
 
Выходные данные
Выведите количество четных чисел, стоящих на четных местах в последовательности.
 
 
Примеры
Входные данные Выходные данные
1
5
1 2 4 5 6
1
 
Пояснение: единственное четное число, стоящее на четном месте в последовательности - это число 2. Числа 4 и 6 не подходят, так как стоят, соответственно, на 3 и 5-м местах.
Напишите программу, которая определяет является ли вводимое число степенью двойки.

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

Выходные данные
Выведите на экран YES, если оно является степенью двойки, NO - иначе.
 
 
Примеры
Входные данные Выходные данные
1 16 YES
2 43 NO
✓ 576✗ 1 329400лёгкаяВойти и решать
Дана последовательность чисел. Найти в ней наименьшее число.
 
Входные данные
Задано сначала число N (количество чисел в последовательности), а затем N чисел в одной строке, разделенных одним пробелом.
 
Выходные данные
Выведите наименьшее число.
 
Примеры
Входные данные Выходные данные
1
7
4 2 5 -1 4 6 2
-1
✓ 809✗ 1 683400лёгкаяВойти и решать
Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8: номер столбца и номер строки).  Напишите программу, которая определяет одного ли цвета эти клетки на шахматной доске? 

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

Выходные данные
Выведите на экран слово YES, если они одного цвета, и NO иначе.
 
 
Примеры
Входные данные Выходные данные
1 1 1 2 2 YES
2 1 1 1 4 NO
Дан взвешенный ориентированный граф. Требуется определить, содержит ли он цикл отрицательного веса. Гарантируется, что все вершины графа достижимы из первой.


Входные данные: 
Первая строка входного файла содержит два натуральных числа n  и  m — количество вершин и ребер графа соответственно ( n ≤ 1 111, m ≤ 11 111).
Следующие m строк содержат описание ребер по одному на строке. Ребро номер i описывается тремя числами bi, ei и wi — номера концов ребра и его вес соответственно (1 ≤ bi, ei ≤ n, −100 000 ≤ wi ≤ 100 000). Обратите внимание, что в графе могут быть кратные ребра и петли.


Выходные данные:
Первая строка выходного файла должна содержать yes, если граф содержит цикл отрицательного веса и no — в противном случае.


Примеры
Входные данные Выходные данные
1 4 4
2 1 -4
1 2 1
3 4 2
2 3 3
yes
2 4 6
2 1 4
1 2 1
3 4 2
2 3 3
1 1 2
1 2 2
no
Даны два числа - координаты точки, не совпадающей с началом координат. Найти полярные координаты точки, не совпадающей с началом координат.

Входные данные
Во входной строке содержится два целых числа - координаты точки. Числа целые, по модулю не превышающее 1000.

Выходные данные
Одно число - величина ее полярного угла (в радианах). Значение полярного угла должно принадлежать интервалу [0; 2*π).

 

Примеры
Входные данные Выходные данные
1 2 3 0.98279
15852#15852
Напишите программу, которая подсчитывает количество цифр в введенном с клавиатуры числе. 
Программа получает на вход целое число, не превышающее 30 000.
Программа должна вывести одно число: количество цифр в введенном с клавиатуры числе.

Пример работы программы
 
Входные данные
20453
Выходные данные
5
✓ 100✗ 63500лёгкаяВойти и решать
Поделиться
Класснуть