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

  • Задача 47 (№ 667) Автобусы – 2 (Сложность: 28%)

  • INPUT OUTPUT

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

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

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


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

    Выходные данные. В выходной файл OUTPUT.TXT выведите YES, если палатки указанным образом выбрать можно, и NO в противном случае.


    #include

    using namespace std;

    int main () {

    int k, w, a1, a2, a3, b1, b2, b3;

    cin >> k >> w;

    cin >> a1 >> b1 >> a2 >> b2 >> a3 >> b3;

    Проверяем, можно ли использовать 2 палатки


    if (a1+a2<=w & b1+b2>=k){cout << "YES"; return 0;}

    if (a1+a3<=w & b1+b3>=k){cout << "YES"; return 0;}

    if (a2+a3<=w & b2+b3>=k){cout << "YES"; return 0;}

    Проверяем, можно ли использовать 3 палатки

    if (a1+a2+a3<=w & b1+b2+b3 >= k){cout << "YES";

    return 0; }


    Проверяем, можно ли использовать 1 палатку

    if (a1<=w & b1>=k) {cout << "YES";return 0;}

    if (a2<=w & b2>=k) {cout << "YES"; return 0;}

    if (a3<=w & b3>=k) {cout << "YES"; return 0;}
    cout << "NO";

    return 0; }
    Задача 47 (№ 667) Автобусы – 2 (Сложность: 28%)




    INPUT.TXT

    OUTPUT.TXT

    1

    10 4 7

    2

    2

    10 4 5

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

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


    В единственной строке входного файла INPUT.TXT записано через пробел 3 натуральных числа - N, M и K, каждое из них не превосходит 10 000.

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


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


    #include

    using namespace std;

    int main () {

    long d, w, a, ka;

    cin>> d >> w>>a;

    if (a<=2 and d>0) ka=0;
    else {

    ka=d/(a-2);

    if (d%(a-2)!=0) ka++;
    if (ka*2>w) ka=0;

    else {ka=(d+w)/a;

    if ((d+w)%a!=0) ka++;}

    }

    cout << ka;

    return 0; }






    Поездка невозможна, если автобусы будут вмещать 1 или 2 чел.
    Находим, сколько автобусов нужно для детей (+1 автобус может быть не полный)
    Проверяем, есть ли у нас нужное число взрослых.

    Взрослых может быть больше, чем по 2 на каждый автобус, поэтому

    количество автобусов=

    Добавляем неполный автобус


    Циклические алгоритмы


    Задача 48 (№ 106) Монетки (Сложность: 8%)





    INPUT

    OUTPUT

    1

    5
    1
    0
    1
    1
    0

    2
    На столе лежат n монеток. Некоторые из них лежат вверх решкой, а некоторые – гербом. Определите минимальное число монеток, которые нужно перевернуть, чтобы все монетки были повернуты вверх одной и той же стороной.

    Входные данные. В первой строке входного файла INPUT.TXT записано натуральное число N (1 <= N <= 100) – число монеток. В каждой из последующих N строк содержится одно целое число – 1 если монетка лежит решкой вверх и 0 если вверх гербом.

    Выходные данные. В выходной файл OUTPUT.TXT выведите минимальное количество монет, которые нужно перевернуть.


    Считаем количество 0 и 1; выводим наименьшее из них


    #include

    using namespace std;

    int main (){

        int n,i,a0,b1,x;

        cin>>n;

        a0=0;

        b1=0;

        for (i = 1; i<=n; i++){

            cin>>x;

            if (x==0) (a0++);

            if (x==1) (b1++);

            }

        if (a0>b1) cout<
        return 0; }
    1   ...   16   17   18   19   20   21   22   23   ...   38


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