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

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

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

Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? - C++

26.06.2014, 11:35. Просмотров 1077. Ответов 7
Метки нет (Все метки)

Какое наибольшее число слонов можно расставить на шахматной доске так, чтобы никакие из них не угрожали друг другу. Задачу решить численным методом. Заранее благодарю.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 11:35     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу?
Посмотрите здесь:

Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z C++
Рекурсивный алоритм шахматная доска расставить фигуры так чтобы не били друг друга C++
Можно ли расположить на побочной диагонали элементы так, чтобы они возрастали C++
C++ Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N
Найти пары фигур, что угрожают друг другу C++
Обращение двух классов друг к другу C++
C++ Задача страуструпа: Измените программу так, чтобы она выводила числа, которые почти равны друг другу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
771 / 704 / 128
Регистрация: 27.07.2012
Сообщений: 2,015
Завершенные тесты: 3
26.06.2014, 16:39     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? #2
64. Спорим?
Alek7andr
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 5
26.06.2014, 16:41  [ТС]     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? #3
Ты бы мне составил программу в С++?
John Prick
771 / 704 / 128
Регистрация: 27.07.2012
Сообщений: 2,015
Завершенные тесты: 3
26.06.2014, 16:44     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? #4
Алгоритм был бы, тогда бы составил. Самому алгоритм гуглить либо изобретать "велосипед" нету желания.
SlavaSSU
215 / 160 / 45
Регистрация: 17.07.2012
Сообщений: 587
26.06.2014, 17:13     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? #5
написал переборчик, который для доски 8*8 или больше долго работает(несколько минут считал у меня), и получается, что ответ - 1, если доска 1*1, или 2*n - 2 иначе(n - размер доски). ну эт так, ответ знать будешь, перебор то тебе не нужен.
Alek7andr
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 5
26.06.2014, 17:30  [ТС]     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? #6
он мне как раз и нужен(
SlavaSSU
215 / 160 / 45
Регистрация: 17.07.2012
Сообщений: 587
26.06.2014, 17:33     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
просто у тебя написано "решить задачу численным методом"

а этот перебор долго работает.

C++ (Qt)
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
#include <iostream>
 
using namespace std;
 
bool d1[111], d2[111];
int n;
int ans = 0;
int cnt;
 
void rec(int i, int j)
{
    ans = max(ans, cnt);
 
    for(int ii = i; ii <= n; ii++)
    {
        int f = (ii == n ? j : 1);
        for(int jj = f; jj <= n; jj++)
        {
            int idx1 = ii + (n - jj);
            int idx2 = ii + jj - 1;
            if(!d1[idx1] && !d2[idx2])
            {
                d1[idx1] = d2[idx2] = true;
                cnt++;
                rec(ii, jj);
                cnt--;
                d1[idx1] = d2[idx2] = false;
            }
        }
    }
}
 
int main()
{
    cin >> n;
    rec(1, 1);
    cout << ans << endl;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2014, 17:35     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу?
Еще ссылки по теме:

C++ Расставить на доске N ферзей так, чтобы они не били друг друга
Вывести числа, которые почти равны друг другу (их разность меньше 0,01) C++
Заставить шарики одновременно двигаться навстречу друг другу C++
C++ Поиск двух ближайших друг к другу точек
Подсчет количества пар элементов, равных друг другу, в массиве C++

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

Или воспользуйтесь поиском по форуму:
Alek7andr
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 5
26.06.2014, 17:35  [ТС]     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? #8
да я просто написал задание в таком виде, в каком мне его дали, большое спасибо за помощь!!!
Yandex
Объявления
26.06.2014, 17:35     Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу?
Ответ Создать тему
Опции темы

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