Problem Ośmiu Hetmanów

0

Może Ty mi pomożesz! Szukam programu znajdującego wszystkie rozwiązania problemu " Ośmiu Hetmanów Szachowych". Chętnie wysłucham ewentualnych wskazówek prowadzących do rozwiązania.

0

Moze bys opisal ten problem, bo ja nie wiem o co w nim chodzi.

0

Cze. Też gram w szchy, ale nie wiem jak ci pomóc.

0

chodzi o to ze na szachownicy ma byc osiem hetmanow i rzadne dwa nie moge sie szachowac, napisanie programu rozwiazujacego problem nie jest trudne:
w kazdej kolumnie musi byc jeden hetman, w kazdym wierszu rowniez, wiec:

  • wybierasz hetmana w pierwszej kolumnie,
  • w drugiej tak aby nie byl w tym samym rzedzie co pierwszy i tak dalej az do 8 kolumny
  • sprawdzasz czy nie szachuja siebie po przekatnych

i tak sprawdzasz wszystkie mozliwosci ktorych jest w tym wypadku 8! (to tylko 40320 przypadkow), mozesz tez np napisac bardziej inteligentnie sprawdzajac na biezaco czy nowo postawiony hetman nie lezy na przekatnej innego co dodatkowo znacznie zmniejszy liczbe przypadkow.--Delphi 5 (paskal is good too)

0

Witam

Rozwiązanie jest bardzo proste jak zauważysz pewną ciekawą własność, mianowicie suma index`ów lub różnica indexów w danej przekątnej jest stała.
A1,1 A1,2 A1,3 A1,4
A2,1 A2,2 A2,3 A2,4
A3,1 A3,2 A3,3 A3,4
A4,1 A4,2 A4,3 A4,4
i tak na przykład przektna z lewej na góre do prawej na dole ma różnice równą 0 a do niej prostopadła na sume równa 5. Myśle że teraz nie powinieneś mieć problemu z napisaniem kilku linijek kodu(wrazie problemów pisz).

POZdroWieNia
-=Milej Zabawy=-

0

To znowu ja

Zapomniałem napisać że jak już masz taka tablice, to w polu w którym stoi hetman dajesz np: 1 a tam gdzie go nie ma dajesz 0 i sumujesz czałą przekotna jak &gt1 tzn że jest 2 hetmanów.

POZdroWieNIa
-=Miałej Zabawy=-

0

Witam.
Gotowy algorytm znajdziesz w książce np, Algorytmy Kombinatoryczne (autor: Deo Narsingh i nnni).

0

Mam kod źródłowy, pokazuje pierwsze prawidłowe rozwiązanie i działa dla szachownicy o krawędzie N pól, N &lt 20 (powyżej 20 nie wiedzieć czemu dla niektórych liczb się zawiesza)

0

Przez przypadek natrafiłem na kod w C++
na stronie http://republika.pl/pasman/index.html --&gt ściągnij plik hetmans.zip--Delphi 6
Pozdrawiam All

1 użytkowników online, w tym zalogowanych: 0, gości: 1