![]() | |
| |||||||
| Home | Register | Blogs | FAQ | Members List | Calendar | Downloads | Arcade | Mark Forums Read |
| Algorithms The source of algorithms for your project |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 |
| Авик | Narod kto znaet zadachu o 8 korolev v shaxmatax? ------------------ dlja tex kto ne znaet Nado rasspologit 8 Koroliv na doske shaxmatnoj tak chtobi ni odna druguju ne bila ------------------Esli kto moget podskazat algoritm pogaluista pomogite. A esli u kogo on est napisannij na C++ to prishlite Zaranie spasibo ![]()
__________________ вот собственно все, что я хотел сказать. |
| | |
| | #3 |
| The Reloaded Join Date: Jan 2002 Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,176
Rep Power: 7 Reputation:
41 | посмотри в книге вирта 'алгоритмы+структуры данных=программы', там на паскале, но думаю сойдет. а еще я ее на прологе писал, жаль, не сохранилась а то бы попугал ![]()
__________________ Сайт армянских маньяков |
| | |
| | #4 | |
| Студент Join Date: Jun 2002 Location: Yerevan
Posts: 258
Rep Power: 7 Reputation:
10 | Quote:
A algorithm ochen' prostoj, prosto raspolagaesh' drug za drugom i obychno na 8-om shage mesta ne budet, pojdesh' nazad do xoda kogda u tebya byl vybor, vyberesh' chto-nibud' drugoe i tak dalee. Drugimi slovami - brute force ![]()
__________________ http://www.d-brane.com | |
| | |
| | #5 |
| Студент Join Date: May 2002 Location: Armenia
Posts: 276
Rep Power: 7 Reputation:
10 | BAYC ET XNDIRI MEJ KAROL CHI KARALEVA A
__________________ http://freenet.am/~getpaid |
| | |
| | #6 |
| Дошкольник Join Date: May 2002 Location: The Dark Side of The Moon
Posts: 102
Rep Power: 7 Reputation:
10 | postav pervuu korolevu v verkhnem levom uglu sleduushuu postav tochno tak kak esli bi ti sigral konem v pravo i t.d. tak ti postavish 4 korolevi potom 5-uu postvishish ot verkhnei levoi opiat po zakonu khoda konia no uje vnis, i takje ostalnie 4 korolevi naskolko ia snau eto edinstvenni algorithm
__________________ BM |
| | |
| | #7 |
| Студент Join Date: Jun 2002 Location: Yerevan
Posts: 258
Rep Power: 7 Reputation:
10 | 2 BlackMoon. Eto skoree ne algoritm, a odno chastnoe reshenie (dlya sluchaya 8x8). Kotoroe vyshe uge bylo ukazano by MuZe. (i esli razlichno to kak ya uge opyat' taki skazal ciklicheskoj perestanovkoj vsex stolbcov i strok mogno poluchit' vse resheniya iz odnogo dannogo)
__________________ http://www.d-brane.com |
| | |
| | #9 |
| Студент Join Date: Jun 2002 Location: Yerevan
Posts: 258
Rep Power: 7 Reputation:
10 | http://users.net1plus.com/brianl/8queens.htm - this has a java program using recursive algorithm. I was wrong before stating that you'll get all the solutions from one. There are 12 different solutions (other 80 come from rotations and reflections). http://mathworld.wolfram.com/QueensProblem.html - also this link gives you the formula to calculate the number of placings for nxn board and k queens. Have fun ![]()
__________________ http://www.d-brane.com |
| | |
| | #10 |
| Младенец | Nerkayatcnum em xndri lutsman im tsragir@, vor@ inchpes tesnum eq bavakanin kar& e yev ashxatum e shat arag... Arajarkeq dzer@... Code: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void main()
{
vector< unsigned int > Pattern( 8 );
for ( unsigned int i = 0; i <= 7; i++ )
Pattern[ i ] = i + 1;
unsigned int uiCount = 0;
vector< unsigned int >::iterator start = Pattern.begin(), end = Pattern.end();
while ( next_permutation( start, end ) )
{
bool bFound = true;
for ( unsigned int i = 0; i <= 7 && bFound; i++ )
for ( unsigned int j = i + 1; j <= 7 && bFound; j++ )
bFound = ( abs( Pattern[ i ] - Pattern[ j ] ) != abs( i - j ) );
if ( bFound )
{
uiCount++;
ostream_iterator< unsigned int > outIt( cout, " " );
copy( start, end, outIt );
cout << endl;
}
}
cout << endl << uiCount << " solutions." << endl;
}
__________________ Best of luck! |
| | |
| | #12 |
| Школьник | Плохой алгоритм.... Идёт тупой перебор, а это не есть хорошо... Вот так вот. В том же Дейтеле описан неплохой алгоритм, который достаточно легко реализовать, попробуй. А вообще это задача на рекурсию с возвратом.
__________________ This game has no name, It will never be the same.... |
| | |
| | #13 |
| Младенец Join Date: Aug 2002 Location: Yerevan
Posts: 14
Rep Power: 0 Reputation:
10 | Рекурсивно решать или нет, все равно в основе решения этой задачи перебор. А рекурсия получается естественно, так-как посик идет по дереву кандидатов, так что каждая из его вершин приходится один раз. Это позволяет если найдено и должным образом зафиксировано одно решение, просто перейту к следующему кандидату, предлагаемому процессом полного перебора как в программе выше. Общая схема приблизительно такая. void try(int i) { for ( int k = 0 to SQUARE_COUNT ) { выбор к-го кандидата; если подходит, записываем; if ( i < SQUARE_COUNT ) try i+1); } } Приблизительно так! Вообще посмотрите в прекрасной статье Вирта "Program Development by Stepwise Refinement", классическая статья в программировании. Удачи. |
| | |
| | #14 |
| ЙЦУКЕН | посик по дереву кандидатов ходит ? )а кандидаты не жалуются ????а так в принципе алгоритм именно такой )))могу предложить другую более интерестную модификацию. Написать параллельный алгоритм для ее решения, который решает ее за (наи)меньшее количество времени |
| | |