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

Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
киракира
 Аватар для киракира
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 14
04.04.2012, 16:48     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N #1
Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2012, 16:48     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N
Посмотрите здесь:

C++ На шахматной доске стоят три ферзя. найти ту пару из них которые угрожают друг другу!
Расставить 8 ферзей на шахматной доске 8 на 8, которые не бьют друг друга C++
C++ Расставить n ладей на шахматной доске n*n
C++ Определить бъют ли две фигуры на шахматной доске друг друга
Ход на шахматной доске C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.04.2012, 18:05     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N #2
ссылку на задачу можете дать?
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
04.04.2012, 19:20     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N #3
Цитата Сообщение от valeriikozlov Посмотреть сообщение
ссылку на задачу можете дать?
В смысле ссылку? Задача в первом посте. Вопрос действительно нетривиальный. С ферзями, думаю было бы гораздо проще.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.04.2012, 19:25     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
В смысле ссылку?
задача скорее всего с сайта олимпиадных задач с онлайн проверкой. вот эту ссылку и нужно.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
04.04.2012, 19:28     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N #5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
В смысле ссылку? Задача в первом посте. Вопрос действительно нетривиальный. С ферзями, думаю было бы гораздо проще.
Ну, если вы считаете это нетривиальным, то что вы скажете насчет, например, такой задачи?
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
04.04.2012, 22:42     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N #6
вот кажись решил, можете проверить?
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
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int n,m;
    cin >> n >> m;
    vector< vector<int> > a(n+1,vector<int>(m+1,1));
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            if (a[i][j])
            {
                if (i+2<=n && j+1<=m)
                    a[i+2][j+1]=0;
                if (i+2<=n && j-1>=0)
                    a[i+2][j-1]=0;
                if (i+1<=n && j+2<=m)
                    a[i+1][j+2]=0;
                if (i-1>=0 && j+2<=m)
                    a[i-1][j+2]=0;
                if (i-2>=0 && j+1<=m)
                    a[i-2][j+1]=0;
                if (i-2>=0 && j-1>=0)
                    a[i-2][j-1]=0;
                if (i+1<=n && j-2>=0)
                    a[i+1][j-2]=0;
                if (i-1>=0 && j-2>=0)
                    a[i-1][j-2]=0;
            }
    }
    int k=0;
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            k+=a[i][j];
    cout << k;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2012, 00:53     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N
Еще ссылки по теме:

C++ Заполнить двумерный массив размером n*n единицами и нулями как на шахматной доске
Как много шахматных слонов можно расставить, чтобы они не угрожали друг другу? C++
C++ Составить программу, которая вычисляет, сколько всего зёрен оказалось на шахматной доске

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

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
05.04.2012, 00:53     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N #7
aram_gyumri, неправильно, поле 6 на 6 даёт 12 вариантов, хотя:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
предлагаю задуматься, а не лежит ли ответ на поставленный вопрос в области чисто математики? Вот я тут коней понаставлял, если сей алгоритм верен (не доказывал. может ошибаюсь) то максимальное количество коней вычисляется так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main() {
 int n,m, max;
 cin >> n >> m;
 max= (n*m)/2+ (n*m)%2;  
 printf ("max= %d\n", max);
 getchar ();
 getchar ();
 return 0;
}
Но это всё фигня. Главное- что случилось с форумом? Почему я не могу скопировать код без того, чтобы не увидеть в IDE номера строк?
Миниатюры
Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N  
Yandex
Объявления
05.04.2012, 00:53     Сколько коней можно без угроз друг другу расставить на шахматной доске размером M на N
Ответ Создать тему
Опции темы

Текущее время: 04:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru