PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : n-Damen-Problem am AVR lösen mit dyn. Array



n0Br4iN3r
21.09.2005, 22:35
Ihr kennt doch sicher das n-Damen-Problem. Es geht dabei um ein Schachbrett mit n*n Feldern. Wie viele Damen (gleicher Farbe) kann man setzen, ohne dass sie sich gegenseitig schlagen?
Ich wollte den Algorithmus für einen AVR (ATmega8) in C schreiben, scheitere aber daran, dass ich das 2 dimensionale Array, in dem das "Schachbrett" gespeichert ist, zwar dynamisch allokieren kann (mit malloc bzw. calloc) aber der Speicher geht mir schon bei n=10 aus (malloc liefert NULL). Die Version mit einem statischen Array funktioniert problemlos (bei n=20 dauert das ganze ~3min).
Kennt ihr noch eine Methode, ein 2dim. Array dynamisch anzulegen bzw. wisst ihr, welchen Fehler ich haben könnte? (Ich weiß, malloc ist auf Embedded Systemen nicht allzu empfehlenswert, aber ich kenne keine andere Methode mit AVR-GCC dynamisch zu arbeiten)

mfg n0Br4iN3r

ba4_philipp
22.09.2005, 12:48
Wieso Algorithmus? Ich meine das haben wir mal in Mathe geschlossen gelöst. Wenn du möchtest schau ich mal nach. Kamen allerdings Binominalkoeffizienten vor.