Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 30.12.2016
Сообщений: 13
1

Олимпиадная задача. Юный программист Петя обучает своего младшего брата арифметике

26.01.2018, 18:27. Показов 2362. Ответов 5
Метки нет (Все метки)

Карточки для счета

Юный программист Петя обучает своего младшего брата арифметике. Петя заготовил много карточек, на каждой из которых написана одна из цифр от 0 до 9 включительно. Петя решил что будет выкладывать карточки в ряд, а младший брат будет просматривать карточки слева направо, складывать цифры на двух соседних карточках и называть ответ. Например, если бы Петя выложил такую последовательность карточек: 2 3 4 1 2, то брат должен был бы назвать вот такую последовательность ответов: 5, 7, 5, 3.

Хотя Петя и любит арифметику, он все же решил сильно не нагружать брата, и выкладывать такие последовательности карточек, чтобы сумма на любых двух соседних карточках не превосходила некоторое число S. С другой стороны, Петя волнуется, а не слишком ли мало заданий получится для брата?

Напишите программу, которая посчитает количество различных последовательностей длины N, состоящих из цифр от 0 до 9 таких, что сумма двух соседних цифр в последовательности не превышает заданного числа S.

Формат входных данных

Ввод содержит два числа N (2 ≤ N ≤ 100) и S (0 ≤ S ≤ 18), разделенные пробелом - количество цифр в последовательности, и максимально возможное значение суммы двух соседних цифр в последовательности.

Формат результата

Выведите единственное число - количество различных последовательностей из цифр длины N, в которых сумма любых двух соседних цифр не превосходит S.
Олимпиадная задача. Юный программист Петя обучает своего младшего брата арифметике
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2018, 18:27
Ответы с готовыми решениями:

Олимпиадная задачка на графы "Юный поджигатель"
Достаточно распространенная олимпиадная задачка "Юный поджигатель". Может у кого завалялся код на...

Юный веб-программист
Всем привет,мне 16 лет,учусь в школе.Подкиньте юному веб-программисту какие-нибудь задания для html...

Задача по целочисленной арифметике
Приветствую.Я новичок и прошу помочь с заданием ниже: (уже находил ответ на этом форуме,но у моего...

Вася и Петя ограбили банк: вычислить, сколько монет украл Петя
Вася и Петя ограбили банк. Каждый из них смог вынести по одному мешку с золотом. Вскоре грабителей...

5
Эксперт C
25590 / 15961 / 3417
Регистрация: 24.12.2010
Сообщений: 34,910
26.01.2018, 20:55 2

Не по теме:

Недоработка в условии. Обленились, видать, составители. Как брата-то зовут? И какого он росточка? Блондин или брюнет? :D

GRAF231, А свои-то мыслишки по этому поводу есть? Или вы считаете, что олимпиадные задачи существуют для того, чтобы Форум всем кагалом набросился на них, а вам осталось только за призом сходить? Или и этот труд вы поручите кому-то из форумчан?
0
0 / 0 / 0
Регистрация: 30.12.2016
Сообщений: 13
26.01.2018, 21:31  [ТС] 3
Ну если бы у меня хоть какая то мысль была, я бы старался её реализовать, но я уже второй день бьюсь ничего не могу придумать. Олимпиада уже прошла, но я всё равно хочу узнать решение.
0
Эксперт C
25590 / 15961 / 3417
Регистрация: 24.12.2010
Сообщений: 34,910
26.01.2018, 21:48 4
Цитата Сообщение от GRAF231 Посмотреть сообщение
но я уже второй день бьюсь ничего не могу придумать.
Ну и что. за 2 дня один чистый лист бумаги?
Понимаете, я бы вам мог сказать, что мне нужно для нормального разговора. Но мой подход к общению тут натыкается на полное непонимание, вплоть до бана. Поэтому мне приходится говорить экивоками и эфемеизмами. Уж вы меня простите, такого нелепого.
0
║XLR8║
1105 / 852 / 256
Регистрация: 25.07.2009
Сообщений: 4,180
Записей в блоге: 5
30.01.2018, 03:07 5
Байт,
Цитата Сообщение от GRAF231 Посмотреть сообщение
Олимпиада уже прошла, но я всё равно хочу узнать решение.
Ключевое слово: "узнать". Не самому додуматься а, именно, узнать...

GRAF231, Вас Байт, спрашивал какие у вас были мысли, подходы к решению задачи?
1
61 / 49 / 39
Регистрация: 03.01.2017
Сообщений: 133
30.01.2018, 08:08 6
Лучший ответ Сообщение было отмечено GRAF231 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream> 
#include <stdlib.h>
#include <ctime>
 
using namespace std;
 
int main()
{
    srand(time(0));
    int i, n=0, s=0, k=0;
    while(1)
    {
        cout << "n = "; cin >> n;
        if(n>=2 && n<=100) break;
    }
    int card[n];
    while(1)
    {
        cout << "s = "; cin >> s;
        if(s>=0 && s<=18) break;
    }
    for(i=0; i<n; i++)
    {
        card[i] = rand()%19;
        cout << " " << card[i];
        if(i>0 && card[i-1]+card[i] <= s) { k++; cout << "'"; }
    }
    cout << "\n" << k << "\n";
    system("Pause");
    return 0;
}
/*
n = 20
s = 12
 16 8 6 3' 5' 18 17 8 5 3' 10 2' 1' 8' 15 8 16 18 18 6
*/
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.01.2018, 08:08

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Задача №113128. Контрольная по арифметике
Доброго всем времени суток! Помогите с решением - пытался решать через циклы, но почти во все...

Задача Петя и числа.
На доске написано N натуральных чисел. Петя выбирает два из них и, если они одинаковые, одно из них...

Олимпиадная задача
Был в прошлом году на олимпиаде по программированию и там была такая задача: После запуска...

C++. Олимпиадная задача
Здравствуйте! Код не проходит какой-то тест, может алгоритм не правильный. И если не правильный, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.