Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.03.2020
Сообщений: 5
1

задача на алгоритмическое программирование

12.12.2020, 16:07. Показов 2869. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ограничение времени 2 секунды
Ограничение памяти 512Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
В современных системах при генерации паролей часто пытаются добиться запоминаемости.
В новой операционной системе «Унас» все пароли являются кириллическими. Используются 33 буквы кириллицы, из них 10 букв являются гласными, 21 — согласными; твёрдый и мягкий знаки являются специальными буквами.
Для запоминаемости используются следующие правила:

Мягкий и твёрдый знак можно использовать только после согласных (кроме “й”); эти знаки не могут идти ни перед какой согласной.
Рядом с гласными не должно быть других гласных, рядом с согласными — других согласных.
Вычислите, какое количество паролей длины N является запоминающимися.

Формат ввода
Входные данные содержат одно целое число
N (1 ≤N≤10^6) — длина пароля
Формат вывода
Выведите одно целое число — остаток от деления количества запомниающихся паролей длины N на 10^9+9.
Пример
Ввод Вывод
2 460

при 2 должно быть 460, но у меня почему-то получается 462... вроде динамика верно написана, надеюсь на вашу помощь

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
#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
 
const int M = 1e9 + 9;
 
ll mod(ll d) {
    return ((d % M) + M) % M; }
 
long long mmul (ll x, ll y) {
    return mod(mod(x) * mod(y)); }
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin >> n;
    vector<vector<int>>dp(n + 1, vector<int>(3));
    dp[1][1] = 21;
    dp[1][2] = 10;
    for (int i = 2; i <= n; i++)
    {
        dp[i][1] = mmul(mod(dp[i - 1][2]) - mmul(dp[i - 2][1], 2), 21);
        dp[i][2] = mmul(mod((mod(dp[i - 1][1]) - mod(dp[i - 2][2]))), 12);
    }
    cout << mod(mod(dp[n][1]) + mod(dp[n][2])) - n;
}
Добавлено через 7 минут
C++
1
cout << mod(mod(dp[n][1]) + mod(dp[n][2])) - n;
забыл, сказать, что "- n" - это я тупо пытался подгонять, к алгоритму никакого отношения не имеет
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2020, 16:07
Ответы с готовыми решениями:

Составить блок схемы и программы решения(алгоритмическое программирование
Ребята, гарю!!! Прошу помогите решить. Экзамен в эту пятницу. ЗАДАЧА 1. Имеется четыре A,B,C,D...

Алгоритмическое мышление
друзья я только начинаю изучать программирование. есть большое желание, но никогда этим не...

Записать алгоритмическое выражение на языке Паскаль и указать порядок выполнения операций
Вот выражение cos(x^3+6)-sin(y-a)/lnx^4-2sin^5x Нужно: Текст программы (включая подробные...

Задача на программирование
Задача B. Подснежники Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод...

0
12.12.2020, 16:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2020, 16:07
Помогаю со студенческими работами здесь

задача на программирование
Входной файл input.txt Выходного файл output.txt Ограничение по времени: 2 секунды Ограничение...

Задача на динамическое программирование
Помогите пожалуйста Проблемы с обработкой звездочек, да и само динамическое программирование...

Задача на динамическое программирование
Даны n последовательных столбиков. Кузнечик находится на первом столбе, умеет прыгать на 1,2,...,k...

Задача на динамическое программирование
Требуется решить задачу на динамическое программирование. Условия:На планете Олимпия очень...

Задача на динамическое программирование.
Что не правильно? #include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; int main()...

Модульное программирование (задача)
Составить библиотеку алгоритмов для преобразования произвольных числовых матриц (тип REAL): -...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru