Информатика

15 724 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Треугольник на плоскости задан координатами своих вершин. Координаты вершин хранятся в виде векторов A1, A2, A3. Каждый вектор содержит две координаты соответсвующей вершины (x, y)
Найдите площадь треугольника.
Если все три вершины лежат на одной прямой, то площадь равна 0.
 

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

Если таких чисел не найдётся, то вектор V будет пустым (т.е. не будет содержать элементов).

Выведите вектор V на экран.

✓ 340✗ 807500лёгкаяВойти и решать
На вход подаётся 2 списка целых чисел (они представляют из себя вектора равной длины, т.е. с одинаковым количеством элементов).

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

Примеры
Входные данные Выходные данные
1 1 2 3 4
10 20 30 40
[40 60]
✓ 1✗ 81 000средняяВойти и решать
На вход подаётся список вещественных чисел (строка, где числа разделены запятой).

Создайте и сохраните:
- в переменную V1 Numpy вектор из этих чисел в том же порядке;
- в переменную V2 Numpy вектор, содержащий только предпоследнее число;
- в переменную V3 Numpy вектор из этих чисел в обратном порядке;
- в переменную V4 Numpy вектор из этих чисел, начиная с 0-ого, через 2 (т.е. каждое второе число);
- в переменную V5 Numpy вектор, созданный из генератора Range, содержащий столько элементов, сколько было передано чисел на вход.

Примечание
Вам необходимо:
- ввести заданную строку с числами (используя input() и  соответствующее преобразование);
- создать соответствующие вектора и сохранить их в нужные переменные. Не забудьте подключить библиотеку numpy

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

 
Пример 
nums = ... # ввод чисел, записанных в одной строке через запятую
V1 = оператор
...

 
✓ 348✗ 1 827600лёгкаяВойти и решать
На вход подается список чисел в виде строки. Числа друг от друга отделяются запятой. Создайте вектор из этих чисел в том же порядке.
✓ 498✗ 1 827600лёгкаяВойти и решать
Джоан Роулинг, Гарри Поттер и актер Дэниел Рэдклифф все родились в один день – 31 июля. Одно из любимых времен года - зима

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

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

Входные данные: Cначала вводится число N – общее количество рассматриваемых дней (1 <= N <= 100).
В следующих N строках задается по одному целому числу. Каждое число – среднесуточная температура в соответствующий день. Температуры – целые числа, принадлежащие диапазону от –50 до 50.

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

Пояснения к примерам:

1) Рассматриваются 6 дней. Самая продолжительная оттепель была на 4-й и 5-й день (50 и 10 градусов соответственно)
2) Самая продолжительная оттепель была в первые 4 дня
3) Дней с положительной температурой не было

Примеры

Входные данные Выходные данные
1 6
-20
30
-40
50
10
-10
 
2
2 8
10
20
30
1
-10
1
2
3
 
4
3 5
-10
0
-10
0
-10
0
✓ 2✗ 291 100средняяВойти и решать
«Ночной рыцарь» – автобус для ведьм и волшебников, попавших в трудное положение. 
«Ночной рыцарь» поражает своими размерами. Небольшой по длине, в высоту он значителен. Гигантские колеса, три этажа. Цвет машины – ярко-фиолетовый.
Автобус обладает несколькими волшебными свойствами. Во-первых, он возникает тут же, по первому требованию, в любом месте и в любое время. Волшебнику даже не приходится ждать. Оборудованные остановки «Ночному рыцарю» не нужны.

Любители Гарри Поттера решили организовать экскурсию по городу на оформленном под "Ночного рыцаря" автобусе. Автобус был высотой 437 сантиметров. На экскурсионном маршруте встречаются N мостов. Организаторы обеспокоились тем, что высокий автобус может не проехать под одним из них. Они знают высоту каждого из мостов. Автобус может проехать под мостом тогда и только тогда, когда высота моста превосходит высоту автобуса. Помогите организаторам узнать, закончится ли экскурсия благополучно, а если нет, то установить, где произойдет авария.
 
Входные данные: В первой строке ввода подается число N (1<=N<=1000). Далее идут N натуральных чисел (по одному числу в строке), не превосходящих 10000 - высоты мостов в сантиметрах в том порядке, в котором они встречаются на пути автобуса.
Выходные данные: Нужно вывести фразу "No crash", если экскурсия закончится благополучно. Если же произойдет авария, то нужно вывести сообщение "Crash k", где k - номер моста, где произойдет авария. Фразы выводить без кавычек ровно с одним пробелом внутри.
 
Примеры
Входные данные Выходные данные
1 1
927
No crash
2 3
763
545
113
Crash 3
✓ 6✗ 44900средняяВойти и решать

Король – это особая в шахматах фигура. Его ценность несравнима с ценностью остальных фигур – с его потерей партия сразу заканчивается.

Поэтому шахматный король бесценен! Но он тоже имеет право вести бой. Король может закрыть путь трём пешкам. А в паре с пешкой он может доставить неприятности самым сильным фигурам. Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку.
Поможем Вилли запрограммировать ход шахматного короля. 

Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом.

Входные данные: Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Выходные данные: Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую или NO в противном случае.
Примеры
Входные данные Выходные данные
1 4
4
5
5
YES
Вилли пошел еще дальше. Теперь он решил написать программу, которая будет сообщать ему, есть ли на доске двойной удар (то есть угрожает ли какая-либо фигура двум другим). Но у Вилли мало времени, сейчас он готовится к очередным соревнованиям. Он просит Вас помочь ему написать заготовку для его программы. Вам необходимо по координатам фигур определить, угрожает ли слон другим двум фигурам или нет.
Входные данные: программа на вход получает три строки с двумя числами. Первое число в строке - номер вертикали, второе номер горизонтали. В первой строке координаты слона (одного цвета). Во второй и третьей координаты двух других фигур (другого цвета). Все фигуры стоят на разных полях. 
Выходные данные: вывести слово "double", если слон угрожает двум другиим фигурам, в противном случае вывести слово "no"
Нельзя использовать в программе конструкции цикла

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

4 4
5 5
6 6
Выходные данные
double
Вилли устал от шахмат и опять решил попрограммировать. Теперь он хочет написать программу, которая получает на вход 4 числа: первые два числа - координаты первой ладьи (номер вертикали и горизонтали), вторые два числа координаты второй ладьи. И выводит "x", если ладьи бьют друг друга и "no", если не бьют

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

2 2
2 8
Выходные данные
x

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

1 2
2 8
Выходные данные
no

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

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

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

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

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

Кролик Клевер очень любит яблоки. Также он любит угощать яблоками своих друзей. У Кролика 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)
Выходные данные: выведите на экран сначала требуемое количество людей, затем с новой строки через пробел номера всех таких этажей (в порядке возрастания)
 
Поделиться
Класснуть