Главная страница
Навигация по странице:

  • Задача 44 (№ 511) Очередь (Сложность: 20%)

  • INPUT.TXT OUTPUT.TXT

  • Для начинающих на С. Составители


    Скачать 1.31 Mb.
    НазваниеСоставители
    Анкорisakova-zarina@mail.ru
    Дата18.02.2023
    Размер1.31 Mb.
    Формат файлаdocx
    Имя файлаДля начинающих на С .docx
    ТипЗадача
    #943648
    страница18 из 38
    1   ...   14   15   16   17   18   19   20   21   ...   38

    Входные данные


    Входной файл INPUT.TXT содержит два целых числа n и m (0 ≤ n, m ≤ 105) — количество взрослых и количество детей в автобусе, соответственно.
    Выходные данные. В выходной файл OUTPUT.TXT выведите через пробел два числа — минимальную и максимальную возможную стоимость проезда, если поездка возможна, в противном случае следует вывести «Impossible» (без кавычек).



    #include

    using namespace std;

    int main() {

    long v,d,d1;

    cin>>v>>d;

    if (v==0 and d!=0) {cout<<"Impossible"; return 0;}

    if (d==0)

    {cout<
    d1=d-v;

    if (d1<=0) d1=0;
    cout<
    return 0;

    В этой задаче много подводных камней, чтобы понять их добавим примеры 4,5.


    Дети не могут ехать без взрослых
    Едут только взрослые.
    Сколько детей (мах) могут провести взрослые бесплатно? (v) Сколько детей при этом осталось? (d1=d-v) – не может быть<0

    Мин.стоимость=взрослые+ d1.

    Мах стоимость=взрослые+дети-1 (1 взрослый везет всех детей)



    Задача 43 (№ 952) Кастинг (Сложность: 19%)

    В театре работает n актеров. Известно, что среди них a – высоких, b – голубоглазых и с – блондинов. Для главной роли в новом спектакле режиссеру требуется только один высокий голубоглазый блондин. Чтобы спланировать свое время для беседы с каждым таким артистом из труппы театра, режиссеру необходимо узнать, какое максимальное или какое минимальное количество артистов из работающих в театре подходит для этой роли.

    Требуется написать программу, которая по заданным числам n, a, b и с определяет минимальное или максимальное количество актеров, с которыми режиссер должен переговорить.

    Входные данные. Первая строка входного файла INPUT.TXT содержит одно число, которое задает: минимальное или максимальное количество актеров необходимо найти. Это число может принимать следующие значения:

    1, если в данном тесте требуется определить минимальное количество актеров;

    INPUT.TXT

    OUTPUT.TXT

    1

    2
    5 3 4 5

    3

    2

    1
    5 3 4 5

    2

    2, если в данном тесте требуется определить максимальное количество актеров.

    Вторая строка входного файла содержит разделенные пробелами четыре целых числа: n, a, b, с (1 ≤ n ≤ 10 000, 0 ≤ a ≤ n, 0 ≤ b ≤ n, 0 ≤ c ≤ n).

    Выходные данные. В выходной файл OUTPUT.TXT выведите одно число – минимальное или максимальное (в зависимости от входных данных) количество актеров, которые могут претендовать на главную роль в новом спектакле.

    #include

    #include

    using namespace std;

    int main (){

    int n,a,b,c,k,f,e,max,min,sr;

    cin>>k;

    cin>>n>>a>>b>>c;

    if (a>b) {max=a; min=b;}

    else {max=b; min=a;}
    sr=c;

    if (c>max) {f= max; max=c; sr=f;}

    if (c
    if (k==2) cout<
    else {

    e=n-max;

    min=min-e;

    sr=sr-e;

    f= min-(max-sr);

    if (min<=0) f=0;

    cout<
    return 0;}


    Расставим данные a, b, с по возрастанию: min, sr, max

    Если в тесте требуется определить максимальное количество актеров (k==2), то выводим min (столько актеров обладают всеми тремя свойствами)
    Пример: актеров-7, высоких -6(max), голубоглазых -5 (sr), блондинов -4 (min).

    Рассмотрим «худший вариант»:

    А

    А

    А

    А

    А

    А

    А

    В

    В

    В

    В

    В

    В










    Г

    Г

    Г

    Г

    Г

    Б

    Б

    Б










    Б

    1. находим e=n-max –количество актеров, не обладающих мах свойством

    2. предполагаем, что эти актеры обладают всеми остальными свойствами, значит

    min=min-e; sr=sr-e

    1. находим max-sr –количество актеров, не обладающих средним свойством

    2. предполагаем, что эти актеры обладают минимальным свойством, значит

    f= min-(max-sr);

    1. Если получим min<=0, то ответ =0

    Задача 44 (№ 511) Очередь (Сложность: 20%)

    Студент Василий живет в общежитии. Отделение банка, в котором он производит оплату за проживание, имеет всего две кассы, поэтому почти всегда длинная очередь к ним. Первая касса открывается в 8.00, вторая – в 8.05. Последний клиент будет принят в 20.00. Очередь единая, и очередной клиент обслуживается, как только освобождается одна из касс. На обслуживание одного клиента уходит ровно 10 минут. Василий приходит ровно в 8.00 и видит, сколько человек стоит перед ним. Требуется определить, сколько времени ему придется простоять в очереди, и вообще обслужат ли его сегодня.



    INPUT.TXT

    OUTPUT.TXT

    1

    1

    0 0

    2

    20

    1 35

    3

    235

    NO
    Входные данные. Входной файл содержит единственное натурально число K – номер Василия в очереди (K < 250). Выходные данные. В выходной файл выводится строка «NO», если Василий сегодня заплатить уже не успеет, и время его ожидания (в формате «X Y», где X – количество целых часов, которые простоит в очереди Василий, и Y – количество минут), если все же успеет заплатить.
    1   ...   14   15   16   17   18   19   20   21   ...   38


    написать администратору сайта