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

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

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

  • Задача 72 (№ 534) Клавиатура – 2 (Сложность: 25%)

  • INPUT.TXT OUTPUT

  • Задача 73 (№ 579) Модуль суммы (Сложность: 25%)

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


    Скачать 1.31 Mb.
    НазваниеСоставители
    Анкорisakova-zarina@mail.ru
    Дата18.02.2023
    Размер1.31 Mb.
    Формат файлаdocx
    Имя файлаДля начинающих на С .docx
    ТипЗадача
    #943648
    страница31 из 38
    1   ...   27   28   29   30   31   32   33   34   ...   38

    Выходные данные. В выходной файл выведите одно число - номер фирмы, от которой государство получает наибольший налог. Если таких фирм несколько, выведите фирму с наименьшим номером.



    #include

    #include

    using namespace std;

    int main(){

        int n;float max=0;int f=0;int i;float money[100],pr[100]; float nal[100];int h=0;

        cin>>n;

        for(i=0;i>money[i]; }

        for(i=0;i>pr[i];}

         for(i=0;i
                nal[i]=money[i]/100*pr[i];

            if(nal[i]>max) {max=nal[i];h=i;  }    }

            cout<

    Задача 71 (№ 912) Одежда (Сложность: 24%)


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




    INPUT.TXT

    OUTPUT.TXT

    1

    6
    1 2 5 2 1 2

    2

    2

    4
    5 5 4 4

    0
    Путешественник стоит на высоком холме недалеко от входа в город. С этого холма он видит цвет одежды каждого жителя города. Путешественник торопится войти в город, ему важно быстро определить, традициям какого народа следовать в этом городе.

    Входные данные. Первая строка входного файла INPUT.TXT содержит число N - количество жителей города, которых видит путешественник (1 ≤ N ≤ 104). Вторая строка теста содержит N натуральных чисел, разделенных пробелами. Каждое число сi – это цвет одежды i-го жителя (1 ≤ ci ≤ 100).

    Выходные данные. В выходной файл OUTPUT.TXT выведите единственное целое число – цвет одежды народа, традициям которого следуют жители города.


    #include

    using namespace std;

    int main() {

    int n,k,a,z;

    int arr[100];

    for(int i=0;i<=100;i++)

    {arr[i]=0;}

    cin>>n;

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

    { cin>>a; arr[a]++; }

    int max=0;

    z=0;

    for(int i=1;i<=100;i++)

    { if(arr[i]>max) {max=arr[i]; z=i; }}

    k=0;

    for(int i=1;i<=100;i++){

    if(max==arr[i]) k++; }

    if (k==1) cout<
    return 0;}


    Будем использовать сортировку подсчетом. Создаем и обнуляем массив, размер которого= количеству цветов. i-я ячейка соответствует i-му цвету. Нужно подсчитать количество каждого цвета.

    Читаем цвет (а) и увеличиваем соответствующую ячейку на 1.

    Находим самый популярный цвет (мах)

    Проверяем условие: если оказывается, что таких народов (мах) несколько, то выбираем белый цвет, который обозначается нулём

    Задача 72 (№ 534) Клавиатура – 2 (Сложность: 25%)

    Всем известно, что со временем клавиатура изнашивается, и клавиши на ней начинают залипать. Конечно, некоторое время такую клавиатуру еще можно использовать, но для нажатий клавиш приходиться использовать большую силу. При изготовлении клавиатуры изначально для каждой клавиши задается количество нажатий, которое она должна выдерживать. Если знать эти величины для используемой клавиатуры, то для определенной последовательности нажатых клавиш можно определить, какие клавиши в процессе их использования сломаются, а какие – нет. Требуется написать программу, определяющую, какие клавиши сломаются в процессе заданного варианта эксплуатации клавиатуры.
    Входные данные. Первая строка входного файла содержит целое число N (1 ≤ N ≤ 100) – количество клавиш на клавиатуре. Вторая строка содержит n целых чисел – с1, с2, … , сN, где сi (1 ≤ сi ≤ 100000) – количество нажатий, выдерживаемых i-ой клавишей. Третья строка содержит целое число K (1 ≤ K ≤ 100000) – общее количество нажатий клавиш, и последняя строка содержит K целых чисел pj (1 ≤ pj ≤ N) – последовательность нажатых клавиш.



    INPUT.TXT

    OUTPUT

    1

    5
    1 50 3 4 3
    16
    1 2 3 4 5 1 3 3 4 5 5 5 5 5 4 5

    yes
    no
    no
    no
    yes
    Выходные данные
    В выходной файл OUTPUT.TXT необходимо вывести N строк, содержащих информацию об исправности клавиш. Если i-ая клавиша сломалась, то i-ая строка должна содержать слово "yes" (без кавычек), если же клавиша работоспособна – слово "no".


    #include

    #include

    using namespace std;

    int main(){

    int n,k,p;

    int key[2][101];

    cin>>n;

    for(int j=1;j<=n;j++){cin>>key[0][j];}

    for(int j=1;j<=n;j++){key[1][j]=0;}
    cin>>k;

    for(int i=1;i<=k;i++){

    cin>>p;

    key[1][p]++; }

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

    if(key[0][i]>=key[1][i]) cout<<"no"<
    else cout<<"yes"<
    return 0;}

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

    0 строка – допустимое число нажатий клавиши,

    1 строка- сколько раз была нажата клавиша


    1

    клавиша

    2

    клавиша

    3

    клавиша

    4

    клавиша

    5

    клавиша

    1

    50

    3

    4

    3

    2

    1

    3

    3

    7



    Задача 73 (№ 579) Модуль суммы (Сложность: 25%)

    Дана последовательность целых чисел. Требуется найти подпоследовательность заданной последовательности с максимальным модулем суммы входящих в нее чисел. Напомним, что модуль целого числа x равняется x, если x ≥ 0 и -x, если x < 0.
    Входные данные. Первая строка входного файла INPUT.TXT содержит натуральное число n (1 ≤ n ≤ 10000) - длину последовательности. Во второй строке записаны n целых чисел, по модулю не превосходящих 10000. Выходные данные. В первой строке выходного файла OUTPUT.TXT выведите длину l выбранной вами подпоследовательности. Во второй строке должны быть записаны l различных чисел, разделенных пробелами - номера выбранных членов последовательности.

    #include

    #include

    using namespace std;
    int main() {

    int n,k,a[10000];

    int kp=0;

    int ko=0;

    int Sp=0;

    int So=0;

    cin>>n;

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

    cin>>a[i];

    if (a[i]>0) {Sp=Sp+a[i]; kp++;}

    if (a[i]<0) {So=So+a[i]; ko++;}

    }
    if (Sp>abs(So)){

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

    if (a[i]>0) cout<
    }
    if (Sp
    cout<
    for(int i=1;i<=n;++i){

    if (a[i]<0) cout<
    }

    if (Sp==0 and So==0) cout<<"1 1";

    return 0; }



    INPUT.TXT

    OUTPUT

    1

    5
    -1 4 -1 6 -7

    2
    2 4


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


    Иначе выводим количество отрицательных чисел и их номера


    Если даны все нули, то ответ 1 1


    1   ...   27   28   29   30   31   32   33   34   ...   38


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