Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Brat_OK
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 20
#1

Определить количество раскрасок полоски из N клеток - C++

02.04.2014, 18:58. Просмотров 171. Ответов 0
Метки нет (Все метки)

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

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <cstdio>
#include <cassert>
#include <cmath>
 
using namespace std;
 
const int MOD = 1e9+7;
 
int fact(int n)
{
    if (n==0)
        return 1;
    if (n<0)
        return 0;
 
    long long f = 1;
 
    for(int i=2;i<=n;i++)
        f = (f*i)%MOD;
 
    return f;
}
 
long long CNK (int n, int k)
{
    return fact(n)/(fact(n-k)*fact(k));
}
 
long long ANK (int n, int k)
{
    return fact(n)/ (fact(n-k));
}
 
int main()
{
  int n,a,b,c,sum, ans, k=0;
 
  cin >> n >> a >> b >> c;
 
  sum = a+b+c;
 
  if (sum > n)
        {
            cout << 0;
            return 0;
        }
 
    if (a > 0)
        k++;
    if (b > 0)
        k++;
    if (c > 0)
        k++;
 
   ans = CNK(n,sum) * pow(3,n-sum) * fact(k);
 
   cout << ans;
 
}
Если нужно, могу объяснить идею моего решения.
Миниатюры
Определить количество раскрасок полоски из N клеток  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 18:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить количество раскрасок полоски из N клеток (C++):

Определить, сколько существует различных раскрасок полоски из N клеток - C++
Решаю задачу условие на картинке, написал код идею вроде понял, не могу понять почему проходит лишь на частичный балл, помогите...

Нумерация клеток заданной полоски - C++
Помогите пожалуйста с заданием! Дана полоска длиной 2k клеток и шириной в одну клетку. Полоску несколько раз сгибают пополам так, чтобы...

Сосчитать количество пересеченных отрезком клеток - C++
Здравствуйте! Подскажите, а как будет выглядеть программа, считающая количество пересеченных отрезком клеток, если вводятся только...

Посчитать количество занятых клеток кроссворда - C++
Помогите,пожалуйста решить задачу. Кроссворд размещен в квадрате. Строки и столбцы квадрата нумеруются снизу вверх и слева направо,...

Определить сколько клеток по периметру доски - C++
Задача с условным оператором. В каждую крайнюю клетку квадратной доски поставили по фишке. Могло ли оказаться, что выставлено ровно k...

из листа клетчатой бумаги N*N клеток вырезали М клеток . на сколько кусков распадается оставшаяся часть листа? - C++
условие:из листа клетчатой бумаги N*N клеток вырезали М клеток . на сколько кусков распадается оставшаяся часть листа? Первая строка...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 18:58
Привет! Вот еще темы с ответами:

Посчитать количество пустых клеток шахматной доски, которые не бьются ни одним ферзем - C++
Описание Ферзь - самая сильная шахматная фигура, которая за один ход может перемещатся на льбое число полей по вертикали, горизонтали...

Определить, сколько клеток будет через определенные промежутки времени - C++
Одноклеточная амеба каждые 3 часа делится на две клетки. Определить, сколько клеток будет черещ 3, 6, 9, ..., 24 часа. Если первоначально...

Пользователь вводит строку. Определить количество букв (рус eng), количество цифр и количество остальных - C++
в чем проблема не пойму работает на английских буквах на цифрах и остальные символы вроде считает а вот русские не хочет их забивает как...

Определить количество выигрышей, количество проигрышей и количество ничьих данной команды - C++
Недавно начал изучать язык С++ и уже застопорился. Помогите пожалуйста решить. 2.В массиве записаны результаты N игр футбольной...


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

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

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