Задачи pascal

Web/сайты Прочее

Был(а) онлайн: 26.04.20 14:45
Umen 26 лет

1.0 Был(а) онлайн: 26.04.20 14:45

Недавно
Задача 1

Станции техобслуживания


Компания занимается продажей пк в N городах (3<=N<=35), обозначаемых 1,2, …, M пар этих городов объединены прямыми дорогами. Компания
решила возвести несколько станций техобслуживания так, дабы для всякого города X станция находилась либо непринужденно в X, либо в каком то городе,
напрямую объединенном с X.
Напишите программу, определяющую минимальное число станций, нужных компании.

Входные данные
Входные данные состоят из нескольких вариантов данные. Весь вариант начинается с числа городов N и числа пар M, поделенных пробелом. Каждая
из следующих M строк содержит пару целых чисел, определяющих соседние города, причем на одну строку доводится ровно одна пара чисел, разделенных
пробелом. Входные данные завершаются при N=0 и M=0.
Выходные данные
Для всякого блока текстовых данных выведите строку, содержащую число нужных станций техобслуживания.
задача 2

Перетягивание каната.

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

Входные данные
Входные данные начинаются со строки, содержащей одно правильное целое число, которое обозначает число тестовых блоков, за которой следует
пустая строка.
Первая строка всякого блока содержит n, число участников пикника. Всякая из следующих n строк содержит вес одного из участников пикника, причем
вес задается целым числом между 1 и 450. Число участников пикника не превышает 100.
Между двумя последовательными текстовыми блоками также находится пустая строка .

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


Задача 3

Со времен Евклида вестимо, что для всяких позитивных целых чисел A и B соответствуют такие целые X и Y, что AX+BY=D, где D – это крупнейший общий
делитель чисел A и B. Задача состоит в том, дабы обнаружить соответствующие X,Y и D заданных A и B.

Входные данные
Входные данные состоят из последовательности строк, вся из которых содержит целые числа A и B, поделенные пробелом (A, B < 1000000001).

Выходные данные
Для всей строки входных данных выходная строка должна содержать три целых числа X,Y и D, поделенные пробелами. Если существуют несколько разных пар
X и Y, то вы обязаны вывести такую, что X<=Y и |X|+|Y|.

Задача 4

Распил брусьев

Вам надобно распилить деревянный брус на несколько кусков. Самая комфортная компания Analog Cutting Machinery (ACM) берет плату за пилку в зависимости от
размера бруса, тот, что необходимо распилить.
Легко осознать, что разные заказы приводят к разным ценам. Скажем разглядим брус длиной 10м, тот, что нужно распилить на расстоянии 2,4 и 7м,
считая от одного конца. Это дозволено сделать несколькими методами. Дозволено распилить вначале на отметке 2м, потом 4 и потом 7м. Это приведет к стоимости:
10+8+6=24, так как вначале длина бруса, тот, что пилили была 10, после этого она стала 8м, и наконец, 6м. А дозволено распилить напротив: вначале на отметке 4м,
после этого 2 и после этого 7м. Это приведет к стоимости: 10+4+6=20, что для нас отменнее.
Ваш руководитель требует, что бы вы написали программу, которая находит минимальную стоимость распила для всякого бруса заданного размера.

Входные данные
Входные данные состоят из нескольких тестовых блоков. Первая строка всего тестового блока содержит правильное число l, задающее длину бруса, который
надобно распилить. Вы можете считать, что l<1000. Дальнейшая строка содержит число n (n<50) распилов, которые необходимо сделать.
Дальнейшая строка содержит n правильных чисел ci (0<ci<l), задающих места, в которых нужно сделать распилы, в сурово вырастающем порядке. Входной
блок с l=0 задает окончание входных данных.

Выходные данные.
Выведите стоимость пилки минимальной цены.

Чтобы добавить заявку к этому заказу, нужно войти или зарегистрироваться

Мой блок

26.04.20 14:45
Umen 26