М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
катя5086
катя5086
11.12.2020 01:15 •  Информатика

Нияз с ниязом в ожидании результатов олимпиады решили поиграть в ётту. в этой игре участ- ники выкладывают карточки в линии по определенным правилам. карточки бывают четырех раз- ных форм, цветов и достоинств. за выложенную линию игрок получает определенное количество очков. ниязу обычные правила показались слишком сложными, и он предложил убрать у карточек цвет и форму, оставив лишь достоинство. а ниязу такие правила показались слишком простыми, и он предложил увеличить количество различных достоинств карточек до 100. в модифицированных правилах линия считается корректной, если либо она состоит из карточек одного достоинства, либо все карточки в ней имеют различные достоинства. если игрок выложил некорректную линию, то он получает −1 очков за невнимательность. за корректную линию начис- ляется количество очков равное сумме достоинств всех карточек в ней. при этом, если достоинство каждой следующей карточки на один больше предыдущей, то очки за такую линию умножаются на два. но при этих правилах ниязу сложно быстро посчитать очки за выложенную линию. поэтому он просит вас ему и написать программу, которая по заданной линии из n карточек определяет количество очков за нее нужна 30

👇
Ответ:
anton297
anton297
11.12.2020
Это не до информатики!                                                          !
4,5(64 оценок)
Открыть все ответы
Ответ:
sahechka111
sahechka111
11.12.2020

#include <iostream>

#include <vector>

using namespace std;  

int main() {

   vector<int> ladder;

   int size, sum = 0;

   cin >> size;

   ladder.resize(size);

   for (int i = 0; i < size; ++i) {

       cin >> ladder[i];

   }

   for (int i = 0; i < size; ++i) {

       if (i + 1 < size && ladder[i] < 0) { // ladder[i] + ladder[i+1] < ladder[i + 1]

           sum += ladder[i + 1];

           ++i;

       }

       else {

           sum += ladder[i];

       }

   }

   cout << sum;

}

4,6(46 оценок)
Ответ:
hrsalesaudit
hrsalesaudit
11.12.2020

// кстати, а откуда задачки?

#include <iostream>

#include <string>

using namespace std;

int counter = 0;

int answer(string s, int l, int n, int length) {

   for (char ch = '0'; ch < length + '0'; ++ch) {

       if (ch == '0' && l && s[l - 1] == '0')

           continue;

       if (l + 1 < n)

           answer(s + ch, l + 1, n, length);

       else

           ++counter;

   }

   return counter;

}

int main() {

   int n, length;

   cin >> n >> length;

   cout << answer("", 0, n, length);

}

4,6(91 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ