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

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

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

Программа "ОФИЦЕРЫ" - C++

12.05.2011, 12:35. Просмотров 403. Ответов 6
Метки нет (Все метки)

Подсчитать количество способов расставить j слонов на доске nxn.

Я на сайте http://e-maxx.ru/algo/bishops_arrangement нашел довольно неплохое объяснение её но при попытки реализации выводит ошибку в строчке vector < vector<int> > d (n*2, vector<int> (k+2));
//error: 'vector' was not declared in this scorp //Подскажите пожалуйста как исправить эту ошибку и что автор делает с её помощью.
Вот мой код :

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 <sstream>
#include <string>
#include <vector>
int cells (int i) 
{
if (i & 1)
return i / 4 * 2 + 1;
else
return (i - 1) / 4 * 2 + 2;
}
int main()
{
 
int n, k; 
scanf("%d%d",n,k);
if (k > 2*n-1) {
printf("0");
return 0;
}
 
vector < vector<int> > d (n*2, vector<int> (k+2));
for (int i=0; i<n*2; ++i)
d[i][0] = 1;
d[1][1] = 1;
for (int i=2; i<n*2; ++i)
for (int j=1; j<=k; ++j)
d[i][j] = d[i-2][j] + d[i-2][j-1] * (cells(i) - j + 1);
 
int ans = 0;
for (int i=0; i<=k; ++i)
ans += d[n*2-1][i] * d[n*2-2][k-i];
printf("%d",ans);
 
return 0;
}
Извиняюсь если этот вопрос уже задавали и ли данную задачу пожалуйста киньте ссылку на эту тему.

 Комментарий модератора 
Используйте теги форматирования кода!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 12:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа "ОФИЦЕРЫ" (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Что означает "Программа "[4872] laba!.exe: Машинный код" завершилась с кодом 3 (0x3)."? - C++
при запуске кода компилятор пишет &quot;Программа &quot; laba!!!!!!.exe: Машинный код&quot; завершилась с кодом 3 (0x3).&quot; и появляется окошечко с ошибкой....

Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа - C++
#include &lt;iostream&gt; using namespace std; int main() {int a=0,b=0; int i=0; cout&lt;&lt;&quot;Vvedite i=&quot;&lt;&lt;endl; cin&gt;&gt;i; ...

что дальше? (программа вводит информацию из ведомости и печатает фамилии студентов, учащихся на "4". "5" и их процентное соотношение с другими) - C++
Ведомость о результатах зимней сессии содержит информацию: фамилия и инициалы студента, номер группы, оценки с 3-х предметов: а)...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
x1Mike7x
217 / 130 / 6
Регистрация: 06.11.2010
Сообщений: 234
12.05.2011, 16:16 #2
C++
1
2
using namespace std;
vector < vector<int> > d (n*2, vector<int> (k+2));
0
Intel
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 15
12.05.2011, 16:50  [ТС] #3
спасибо а я могу заменить это просто строкой int d[n*2][k+2]; ??
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.05.2011, 17:26 #4
Intel, нет, не можете. Размер массива должен быть известен на этапе компиляции, т.е. быть константой. Можно использовать динамическое выделение памяти (оператор new), но зачем изобретать велосипед, когда есть вектор.
0
Intel
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 15
13.05.2011, 01:31  [ТС] #5
ну так оно и известно я же ввожу scanf("%d%d",n,k);
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
13.05.2011, 09:34 #6
Intel, вам фраза "на этапе компиляции" о чём-нибудь говорит?
0
Intel
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 15
13.05.2011, 15:19  [ТС] #7
да точно затупил исправлюсь) там нада будет еще массив этот инициализировать)всем спасибо за разъяснения и потраченное время
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 15:19
Привет! Вот еще темы с ответами:

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.05.2011, 15:19
Ответ Создать тему
Опции темы

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