Информатика

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

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

Примеры входных и выходных данных:
Входные данные
10  25
Выходные данные
2
5

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

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

Входные данные: В первой строке вводится число n - количество селений (1 <= n <= 100000). Вторая строка содержит n различных целых чисел, i-е из этих чисел задает расстояние от начала дороги до i-го селения. В третьей строке входных данных задается число m - количество бомбоубежищ (1 <= m <= 100000). Четвертая строка содержит m различных целых чисел, i-е из этих чисел задает расстояние от начала дороги до i-го бомбоубежища. Все расстояния положительны и не превышают 109. Селение и убежище могут располагаться в одной точке.

Выходные данные: Выведите n чисел - для каждого селения выведите номер ближайшего к нему бомбоубежища. Бомбоубежища пронумерованы от 1 до m в том порядке, в котором они заданы во входных данных.

Примеры
Входные данные Выходные данные
1 4
1 2 6 10
2
7 3
2 2 1 1

После затянувшегося совещания директор фирмы решил заказать такси, чтобы развезти сотрудников по домам. Он заказал N машин  – ровно столько, сколь у него сотрудников. Однако когда они подъехали, оказалось, что у каждого водителя такси свой тариф за 1 километр.

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


Входные данные: Первая строка входных данных содержит натуральное число N (1 ≤ N ≤ 1000)  – количество сотрудников компании (совпадающее с количеством вызванных машин такси). Далее записано N чисел, задающих расстояния в километрах от работы до домов сотрудников компании (первое число  – для первого сотрудника, второе  – для второго и т.д.). Все расстояния  – положительные целые числа, не превышающие 1000. Далее записано еще N чисел  – тарифы за проезд одного километра в такси (первое число  – в первой машине такси, второе  – во второй и т.д.). Тарифы выражаются положительными целыми числами, не превышающими 10000. 

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

Примеры
Входные данные Выходные данные
1 3
10 20 30
50 20 30
1 3 2
2 5
10 20 1 30 30
3 3 3 2 3
5 1 3 2 4

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

Входные данные 
В первой строке вводится число n - количество роботов(\(1 <= n <= 100000\)). Вторая строка содержит n различных целых чисел, i-е из этих чисел задает расстояние от начала дороги до места работы i-го робота. В третьей строке входных данных задается число m - количество ремонтных мастерских (1 <= m <= 100000). Четвертая строка содержит m различных целых чисел, i-е из этих чисел задает расстояние от начала дороги до i-й ремонтной мастерской. Все расстояния положительны и не превышают 109.  Робот и мастерская могут располагаться в одной точке.

Выходные данные
Выведите n чисел - для каждого робота выведите номер ближайшей к нему ремонтной мастерской. Ремонтные мастерские пронумерованы от 1 до m в том порядке, в котором они заданы во входных данных.

 
Примеры
Входные данные Выходные данные
1 4
1 2 6 10
2
7 3
2 2 1 1

Требуется отсортировать массив по неубыванию методом "вставок".

Входные данные 
В первой строке вводится одно натуральное число N, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).

Выходные данные 
Вывести получившийся массив.
 
Пример
Входные данные Выходные данные
1 5
5 4 3 2 1
1 2 3 4 5
37097#37097
В зрительном зале N рядов, в каждом из которых по M мест (кресел). Информация о проданных билетах хранится в двумерном массиве, номера строк которого соответствуют номерам рядов, а номера столбцов - номерам мест (места нумеруются с 1). Если билет на то или иное место продан, то в массив записывается значение 2, если забронирован - 1, в противном случае - 0. Определить номера мест, на которые чаще всего продаются билеты. Обртите внимание, что забронированный билет не считается проданным, ведь его могут не выкупить. 

Входные данные 
В первой строке задаются числа N и M (0 <= N, M <= 25). Далее идет N строк по M чисел в каждой. Каждое число может быть равно 0, 1 или 2.

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

Примеры
Входные данные Выходные данные
1 3 4
0 1 2 2 
1 2 2 2 
2 1 1 1 
3 4
37095#37095
В зрительном зале N рядов, в каждом из которых по M мест (кресел). Информация о проданных билетах хранится в двумерном массиве, номера строк которого соответствуют номерам рядов, а номера столбцов - номерам мест. Если билет на то или иное место продан, то в массив записывается значение 2, если забронирован - 1, в противном случае - 0. Определить номера мест, которые чаще всего бронируют и/или выкупают зрители. 

Входные данные
В первой строке задаются числа N и M (0<=N, M<=25). Далее идет N строк по M чисел в каждой. Каждое число может быть равно 0, 1 или 2.

Выходные данные
Выведите на экран номера всех мест (в одну строку, через один пробел), которые продаются или бронируются чаще всего (нумерация мест начинается с 1). Номера выводить в порядке возрастания.
 
Примеры
Входные данные Выходные данные
1 3 4
0 1 2 1 
1 2 2 0 
2 2 1 1 
2 3
12.98а#37094
Информация о количестве жильцов в каждой из M квартир каждого этажа 12-этажного дома хранится в двумерном массиве (в нулевой строке - информация о количестве жителей в квартирах первого этажа, в первой - второго и т.д.). Определите на каком этаже проживаем меньше всего людей. Выведите это количество и номера всех таких этажей.

Входные данные:  в первой строке подается число M (0<M<=25)
Далее идут 12 строк по M чисел в каждой (целое число, не превосходящее 10)
Выходные данные: выведите на экран сначала требуемое количество людей, затем с новой строки через пробел номера всех таких этажей (в порядке возрастания)
 
12.98б#37093
Информация о количестве жильцов в каждой из M квартир каждого этажа 12-этажного дома хранится в двумерном массиве (в нулевой строке - информация о квартира первого этажа, в первой - второго и т.д.). Определите на каком этаже проживает больше всего людей. Выведите это количество и номера всех таких этажей.

Входные данные:  в первой строке подается число M (0<M<=25)
Далее идут 12 строк по M чисел в каждой (целое число, не превосходящее 10)
Выходные данные: выведите на экран сначала требуемое количество людей, затем с новой строки через пробел номера всех таких этажей (в порядке возрастания)

Примеры
Входные данные Выходные данные
1 4
1 0 2 0 
1 1 2 0 
0 0 2 0 
0 0 1 2 
2 0 1 1 
1 2 2 0 
2 2 0 0 
2 1 2 2 
2 1 2 1 
2 2 1 2 
2 1 0 2 
1 2 0 2  
7
8 10
12.41#37092
В двумерном массиве хранится информация о зарплате N человек за каждый из 12 месяцев года (в строках находится информация о людях, в столбцах о месяцах). Составить программу для расчета общей суммы, выплаченной работникам за K-й месяц года (месяцы нумеруются с 1).

Входные данные 
В первой строке задается число N (0< N <= 25). Далее идут N строк по 12 чисел в каждой (каждое число - натуральное число, не более 150). В последней строке задается число K (1 <= K <= N).

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

Примеры
Входные данные Выходные данные
1 3
148 16 121 82 35 27 109 99 79 100 66 100 
22 62 154 66 134 98 32 60 112 55 65 42 
55 138 115 39 154 151 113 116 104 85 127 108 
8
275
12.39#37091
В зрительном зале N рядов, в каждом из которых M мест (кресел). Информация о проданных билетах хранится в двумерном массиве, номера строк соответсвуют номерам рядов, а номера столбцов - номерам мест. Если билет продан на то или иное место, то соответствующий элемент массива имеет значение 1, в противном случае - 0. Составить программу, определяющую число проданных билетов на места в K-м ряду.

Входные данные: в первой строке задаются два числа N (0<N<=15) и M (0<M<=25)
Далее идут N строк по M чисел в каждой (каждое число равно  0 или 1)
В последней строке идет число K (1<=K<=N)
Выходные данные: выведите ответ на задачу

Примеры
Входные данные Выходные данные
1 3 5
1 1 1 0 1 
0 0 0 1 1 
1 1 1 1 1 
3
5
В двумерном массиве хранится информация о баллах, полученных спортсменами-пятиборцами в каждом из пяти видов спорта (в нулевой строке - информация о баллах первого спортсмена, в первой - второго и т.д.). Общее число спорстменов \(N\). Определите общую сумму баллов, набранных \(K\)-м спортсменом.

Входные данные: в первой строке задается число \(N\) (\(0<N<=20\)). 
Далее идут N строк по 5 чисел в каждой - баллы, полученные спортсменами (каждое число - натуральное, не более 50)
В последней строке задается число \(K\)
Выходные данные: выведите на экран ответ на задачу

Примеры
Входные данные Выходные данные
1 3
13 3 15 12 26 
1 28 17 17 27 
18 18 50 21 27 
3
134
В двумерный массив записаны годовые оценки по десяти предметам каждого из N учеников класса (в нулевом столбце - оценки по первому предмету, в первом - по второму и т.д.), но по ошибке забыли вписать в массив оценки еще по одному предмету, который должен находиться в столбце K. Измените массив так, чтобы он был заполнен надлежащим образом. 

Под добавлением столбца в двумерный массив будем понимать:
1) увеличение числа столбцов массива на 1;
2) смещение всех столбов после K-го на один вправо;
3) присваивание заданных значений элементам K-го столбца.

Входные данные
В первой строке задаётся число N (0<N<=30). Далее идут N строк по 10 чисел в каждой. Каждое число в диапазоне от 2 до 5. В следующей строке идет число K (1<=K<=10). Далее, в последней строке (без пропуска строк) идет N чисел, оценки соответствующего ученика по новому предмету.

Выходные данные
Выведите на экран преобразованную матрицу, отделяя каждый элемент одним пробелом.
 
Пример
Входные данные Выходные данные
1 5
5 3 4 2 4 1 3 3 4 4 
3 3 1 2 3 4 3 2 4 3 
2 4 5 4 2 1 4 2 2 4 
1 3 5 1 1 1 5 3 4 1 
3 4 2 1 5 3 3 5 2 1 
1
5 5 3 5 3 
5 5 3 4 2 4 1 3 3 4 4 
5 3 3 1 2 3 4 3 2 4 3 
3 2 4 5 4 2 1 4 2 2 4 
5 1 3 5 1 1 1 5 3 4 1 
3 3 4 2 1 5 3 3 5 2 1
В двумерном массиве хранятся результаты (время в минутах), показанные каждым из \(N\) велогонщиков на каждом из 12-ти этапов соревнований (в нулевом столбце - результаты первого этапа, в первом - второго и т.д.) Судейской коллегией результаты K-го этапа были признаны недействительными и были удалены из таблицы.
Измените массив соответствующим образом и выведите его на экран.

Под удалением столбца в двумерном массиве будем понимать:
1) исключение этого столбца из массива путем смещения всех следующих за ним столбцов на один влево;
2) присваивание всем элементам последнего столбца значения 0 (или уменьшение количества столбцов на 1).

Входные данные
В первой строке задаётся число N (0<N<=30). Далее идут N строк по 12 чисел в каждой. Каждое число по модулю не более 100. Далее с новой строки идет число K (1<=K<=12).

Выходные данные
Выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа.
 
Пример
Входные данные Выходные данные
1 4
65 2 22 62 41 18 80 15 35 20 21 27 
7 28 35 98 15 27 87 95 73 45 26 28 
1 99 11 69 11 13 80 78 3 53 76 73 
87 37 11 85 72 33 59 79 61 53 80 67 
4
 65   2  22  41  18  80  15  35  20  21  27 
  7  28  35  15  27  87  95  73  45  26  28 
  1  99  11  11  13  80  78   3  53  76  73 
 87  37  11  72  33  59  79  61  53  80  67 
В двумерном массиве хранятся результаты (время в минутах), показанные каждым из N автогонщиков на каждом из 10-ти этапов соревнований "Формула-1" (в нулевой строке - результаты первого гонщика, в первой - второго и т.д.). После десятого этапа гонщик с порядковым номером K выбыл из соревнований. Судейской коллегией было принято решение удалить результаты данного участника из таблицы.
Измените массив соответствующим образом и выведите его на экран.

Под удалением строки в двумерном массиве будем понимать:
1) исключение этой строки из массива путем смещения всех следующих за ней строк на одну вверх;
2) присваивание всем элементам последней строки значения 0 (или уменьшение количества строк на 1).

Входные данные
В первой строке задаётся число N (\(0<N<=30\)). Далее идут N строк по 10 чисел в каждой. Каждое число по модулю не более 100. Далее с новой строки идет число K (\(1<=K<=N\)).

Выходные данные 
Выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа.
 
Пример
Входные данные Выходные данные
1 5
38 43 82 95 20 100 99 83 77 42 
94 92 74 30 93 75 99 6 79 68 
4 20 25 54 15 31 81 39 79 76 
62 97 14 40 70 31 3 84 33 74 
99 30 91 15 41 54 87 31 71 74 
3
 38  43  82  95  20 100  99  83  77  42 
 94  92  74  30  93  75  99   6  79  68 
 62  97  14  40  70  31   3  84  33  74 
 99  30  91  15  41  54  87  31  71  74 
Дана матрица размером NxM и два числа k1 и k2. Выполните циклическую перестановку столбцов влево, находящихся между столбцами k1 и k2 (включая столбцы k1 и k2, т.е. столбец k1 должен оказаться на месте столбца k2, столбец k2 не месте столбца k2-1 и т.д.).

Входные данные
В первой строке задаются числа N и M (\(0<N,M<=10\)). Далее идут N строк по M чисел в каждой. Каждое число по модулю не более 100. Далее с новой строки идут два числа k1, k2 (\(0<= k1<=k2< M\)).

Выходные данные
Выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа.
 
Пример
Входные данные Выходные данные
1 3 4
56 32 94 12 
15 72 51 60 
43 4 97 38 
0 2
 32  94  56  12 
 72  51  15  60 
  4  97  43  38 
Дана матрица размером NxM и два числа k1 и k2. Поменяйте местами строки с индексами k1 и k2.

Входные данные
В первой строке задаются числа N и M (\(0<N,M<=10\)). Далее идут N строк по M чисел в каждой. Каждое число по модулю не более 100. Далее с новой строки идут два числа k1, k2 (\(0<k1,k2<=N\)).

Выходные данные
Выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа.
 
Пример
Входные данные Выходные данные
1 4 5
72 50 18 79 74 
48 93 27 9 76 
33 76 69 59 58 
19 65 53 90 77 
2 0
 33  76  69  59  58 
 48  93  27   9  76 
 72  50  18  79  74 
 19  65  53  90  77
Каждую строку заданной прямоугольной матрицы NxM сдвинуть циклически вправо на количество позиций, равных номеру строки (нумерация строк и столбцов с 0). Вывести на экран преобразованную матрицу.

Входные данные
В первой строке находятся два числа N и M (\(0 < N,M <= 10\)). Далее идут N строк по M чисел в каждой - элементы матрицы (каждый элемент не более 100 по модулю).

Выходные данные
Вывести измененную матрицу. Каждый элемент матрицы выводится в 3 знакоместах и с одним пробелом после него.
Оформите сдвиг вправо на K позиций в виде подпрограммы.
 
Пример
Входные данные Выходные данные
1 3 4
47 63 22 75 
69 69 12 70 
70 90 13 31 
 47  63  22  75 
 70  69  69  12 
 13  31  70  90 
Дана матрица размером NxM и массив чисел размером N. В данной матрице заменить все элементы столбца с максимальной суммой элементов на элементы заданного массива чисел. Если таких столбцов несколько, то заменить элементы в столбце с меньшим индексом.

Входные данные
В первой строке задаются числа N и M (\(0<N,M<=10\)). Далее идут N строк по M чисел в каждой. Каждое число по модулю не более 100. В последней строке идут N чисел массива.

Выходные данные 
Выведите на экран преобразованную матрицу, отводя под каждый элемент три знакоместа. После вывода каждого числа должен следовать знак пробела.
 
Пример
Входные данные Выходные данные
1 3 4
52 16 61 93 
5 5 33 41 
37 34 14 16 
76 69 26
 52  16  61  76 
  5   5  33  69 
 37  34  14  26 
В матрице размером NхM заменить на значение -1 все элементы тех строк, в которых находится максимальный элемент.

Формат входных данных
В первой строке находятся два числа N и M (\(0 < N,M <= 10\)). Далее идут N строк по M неотрицательных чисел в каждой - элементы матрицы (каждый элемент меньше 100).

Формат выходных данных
Вывести измененную матрицу. На каждый элемент в выводе отводить ровно 3 символа (знакоместа). После вывода каждого числа должен следовать знак пробела.
Пример
Входные данные Выходные данные
1 5 5
15 68 54 79 89 
91 57 21 70 24 
14 22 5 26 76 
51 59 92 98 96 
50 62 50 58 1 
 15  68  54  79  89 
 91  57  21  70  24 
 14  22   5  26  76 
 -1  -1  -1  -1  -1 
 50  62  50  58   1 
Поделиться
Класснуть