RDW #4 - Rätsel der Woche Nummer 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Regeln: * Bitte nicht vor Ablauf der ersten 72 Stunden ( = drei Tage ) ~~~~~~~ nach Veröffentlichung Hinweise (Spoiler) oder Lösungen ver- öffentlichen! * Wenn diese Zeit abgelaufen ist, werde ich einen Thread mit passendem Titel erstellen, in dem die Lösungen gepostet werden und diskutiert werden können. * Die Lösungen sollten nicht nur gepostet, sondern auch an mich gemailt werden, damit ich sie testen, "bewerten" und zu- sammenfassen kann. Die Adrese dafür lautet: crian <---AT---> perl <---MINUS---> community <---DOT---> de Im Betreff sollte 'RDW' und die Nummer des Rätsels stehen. Hilfreich wäre neben dem Quellcode der Username im Forum sowie Perl- und OS-Version, falls Du diese kennst. * Verständnisfragen drfen in diesem Thread gestellt werden, aber Tipps und (Teil-) Lösungen sind hier unerwnscht. * Ich werde die eingeschickten Programme im Netz zur Verfgung stellen, so dass gerade lange Quellcodes nicht (komplett) gepostet werden mssen. * Zur Verwendung von Modulen: Ich möchte diese nicht generell ausschließen, aber wenn quasi die komplette Aufgabe durch die Verwendung eines Moduls ersetzt werden kann, ist dies vielleicht nicht der Sinn der Aufgabe gewesen. Aufgabe: Gegeben sei ein rechteckiges Spielfeld F mit n x m Feldern. ~~~~~~~~ Desweiteren gibt es eine Menge S mit Steinen auf diesem Spielfeld. Jeder dieser Steine ist rechteckig und belegt p x q Felder (die Steine können verschieden groß sein). Die Steine drfen sich auf dem Feld nicht berlappen. (Das heißt jedes Feld von F darf von höchstens einem Stein aus S belegt sein.) Schaffe eine interne Darstellung von F und S und Funktionen (oder Methoden), um den Stein S_i in eine der vier Himmels- richtungen auf dem Spielfeld zu verschieben. Ist es nicht möglich, den gegebenen Stein in die gegebene Richtung zu verschieben, so soll dies dem Aufrufer auf irgend eine Weise mitgeteilt werden. Es wird später eine Fortsetzung geben, die auf der Lösung dieser Aufgabe aufbaut.