Foren » 38. Bundeswettbewerb Informatik

Fragen zur 1. Runde – Aufgabe 5: Rominos

    • 113 Beiträge
    30. August 2019 13:03:08 CEST

    Hier könnt ihr Fragen zur Aufgabe 5 (Rominos) der 1. Runde stellen.


    Dieser Beitrag wurde am 30. August 2019 13:04:01 CEST von Mario Albrecht bearbeitet
    • 1 Beiträge
    4. September 2019 18:12:52 CEST

    Wäre das ein gültiger 4-Romino?: (X repräsentiert die Blöcke)

    OXO

    XOX

    OXO

     

    • 113 Beiträge
    9. September 2019 13:12:11 CEST

    Ja.

    • 2 Beiträge
    12. September 2019 19:14:02 CEST

    Ich versuche diese Aufgabe gerade mit Brute Force zu lösen.

    Bei den 10-er Rominos sind es aber so viele Kombinationen, dass mein Computer etwa 100.000 Stunden brauchen würde, um alle zu bestimmen. Ich schätze mal, es gibt einen effizienteren Weg die Aufgabe zu lösen?

    Andere Frage: Dieser hier wäre auch ein valider, oder?

  • 12. September 2019 21:45:29 CEST

    Bei den Aufgaben der ersten Runde kann man normalerweise davon ausgehen, dass sich alle vorgegebenen Beispiele (also hier n von 4 bis 10) innerhalb von jeweils höchstens einer bis zwei Minuten lösen lassen. Mit dieser Aufgabe kenne ich mich jetzt natürlich nicht aus, aber ich vermute, Brute Force ist tatsächlich nicht gerade der effizienteste Weg.

    • 2 Beiträge
    13. September 2019 15:41:42 CEST

    Danke, das hatte ich schon gedacht ;)

    Ich hab jetzt schon ein anderes Programm an dessen Stelle gelöst, also habe ich meine drei zusammen. Danke trotzdem!


    Dieser Beitrag wurde am 13. September 2019 15:42:46 CEST von Yan Wittmann bearbeitet
    • 1 Beiträge
    15. Oktober 2019 20:05:46 CEST

    Ich hab eine Frage bezüglich der Definition eines n-Rominos. Nach Aufgabenstellung gilt eine Figur als n-Romino, sollte sie folgendes Konstrukt enthalten:

    ox

    xo

    (Dabei stellt ein x ein Quadrat und ein o ein leeres Feld da.)

    Nach dieser Definition wäre folgende Figur ein 7-Romino:

    xxx

    xox

    xxo

    Diese Figur wäre allerding auch ein Heptomino (freie Anpassung des Begriffs Pentomino für 7). Die Frage, die sich mir nun stellt, ist, wie mein Programm eine solche Figur behandeln soll.

    • 92 Beiträge
    16. Oktober 2019 16:19:33 CEST
    Stefan M said:

    Ich hab eine Frage bezüglich der Definition eines n-Rominos. Nach Aufgabenstellung gilt eine Figur als n-Romino, sollte sie folgendes Konstrukt enthalten:

    ox

    xo

    (Dabei stellt ein x ein Quadrat und ein o ein leeres Feld da.)

    Nach dieser Definition wäre folgende Figur ein 7-Romino:

    xxx

    xox

    xxo

    Diese Figur wäre allerding auch ein Heptomino (freie Anpassung des Begriffs Pentomino für 7). Die Frage, die sich mir nun stellt, ist, wie mein Programm eine solche Figur behandeln soll.

    Zwei Gedanken:

    1. Ich sehe darin, dass die Figur ein "Heptomino" sein könnte, kein Problem damit, dass sie auch ein 7-Romino ist. Die Aufgabenstellung verbietet ja nicht, dass n-Rominos auch n-Ominos sein dürfen.

    2. In der Aufgabenstellung werden n-Ominos höheren Grades nicht definiert. Aber es wäre kein Widerspruch zu den gezeigten Pentominos, wenn das oben gezeigte Konstrukt explizit verboten wäre.

    Hilft das weiter?

    • 391 Beiträge
    17. Oktober 2019 09:24:00 CEST

    In dem Zusammenhang lässt sich auch noch ein ganz allgemeiner Grundsatz bei der Lösung von BwInf-Aufgaben benennen: der BwInf-Dreisprung. Was ist das? Nun, bei Unsicherheiten über Details in der Aufgabenstellung sollte man 

    • sich überlegen, welche Möglichkeiten oder Varianten die Aufgabenstellung offen lässt,
    • sich für eine Möglichkeit oder Variante entscheiden und
    • begründen, warum man sich wie entschieden hat.

    Damit ist man immer auf der sicheren Seite.

    Viel Erfolg – auch beim Dreispringen! laughing

    • 2 Beiträge
    28. Oktober 2019 20:31:34 CET

    Darf die grafische Ausgabe durch die Bibliothek Matplotlib in Python ausgegeben werden, sodass für jede Figur ein Fenster geöffnet wird?

    Z.b. bei 3-Rominos also 3 neue Fenster mit je einer Figur.

    Ich frage, da es als störend erfunden werden könnte, wenn es viele n-Rominos gibt und dementsprechend ausgegeben werden müssen.


    Dieser Beitrag wurde am 28. Oktober 2019 20:52:14 CET von Nam Pham Dinh bearbeitet
    • 391 Beiträge
    29. Oktober 2019 17:39:38 CET

    Grundsätzlich ist die Nutzung von Bibliotheken erlaubt.

    Ideal sind die vielen Fenster zwar nicht. Aber wichtiger als die Bildschirmausgabe ist, dass du diese Ausgabe dokumentierst, also die Bilder der 4-Rominos und 5-Rominos in die Dokumentation einbindest. Vielleicht erlaubt es die Bibliothek ja auch, die Bilder in Dateien auszugeben.

     

  • 31. Oktober 2019 18:04:37 CET

    Zählt es auch als grafische Ausgabe, wenn man zur Darstellung der Blöcke gewisse ASCII-Zeichen benutzt?

    Aus technischer Sicht ist es Text, aber gleichzeitig wird dieser genutzt, um eine Grafik darzustellen

    Hier am Beispiel eines 4-Rominos

    • 92 Beiträge
    31. Oktober 2019 18:35:37 CET
    Konrad N. said:

    Zählt es auch als grafische Ausgabe, wenn man zur Darstellung der Blöcke gewisse ASCII-Zeichen benutzt?

    Aus technischer Sicht ist es Text, aber gleichzeitig wird dieser genutzt, um eine Grafik darzustellen

    Hier am Beispiel eines 4-Rominos

    Eine „graphische Ausgabe“ in der Konsole ist erlaubt, allerdings würde ich von der im Link gezeigten Darstellung abraten, da dabei die beiden Figuren

       ▇
    ▇   ▇
       ▇

    und

       ▇
    ▇▇▇
       ▇

    nicht voneinander unterschieden werden können.


    Dieser Beitrag wurde am 31. Oktober 2019 18:37:10 CET von Robert Czechowski bearbeitet
  • 7. November 2019 17:41:39 CET

    Die grafischen Darstellungen der Rominos für n=4 und n=5 sollen ja laut Aufgabe in der Dokumentation enthalten sein. Allerdings gibt es insbesonders für n=5 relativ viele Rominos, ist es da der Übersichtlichkeit zuliebe auch möglich die Darstellungen der Rominos in eine separate Datei auszulagern und in der Dokumentation lediglich auf die Datei zu verweisen?

    • 391 Beiträge
    12. November 2019 12:43:42 CET
    Konrad N. said:

    Die grafischen Darstellungen der Rominos für n=4 und n=5 sollen ja laut Aufgabe in der Dokumentation enthalten sein. Allerdings gibt es insbesonders für n=5 relativ viele Rominos, ist es da der Übersichtlichkeit zuliebe auch möglich die Darstellungen der Rominos in eine separate Datei auszulagern und in der Dokumentation lediglich auf die Datei zu verweisen?

    Da explizit gefordert ist, die grafische Ausgabe zu dokumentieren, wäre es keine gute Idee, in der Dokumentation die Abbildungen der 4-Rominos und 5-Rominos komplett wegzulassen. Eine kompakte Zusammenstellung der erzeugten Abbildungen könnte vielleicht auf eine Seite passen. Auch wenn das Programm die Abbildungen alle untereinander ausgibt, ist es in Ordnung, sie in der Dokumentation anders anzuordnen.

    Ein akzeptabler Kompromiss kann sein, bei den 5-Rominos in der Dokumentation nur die ersten x und die letzten x generierten Abbildungen darzustellen (wobei x nicht allzu klein sein sollte) und die vollständige Sammlung in einer separaten Datei zu zeigen. Die BewerterInnen sollen/wollen auch anhand der Abbildungen und ihrer Abfolge Rückschlüsse ziehen können, wie der Algorithmus zur Aufzählung bzw. Erzeugung der Rominos funktioniert.

    • 4 Beiträge
    15. November 2019 22:30:29 CET

    Hallo, könnte mir einer vielleicht diesen Satz erläutern : "... dürfen außerdem nicht an den Seiten ein und desselben dritten Quadrats anliegen" .

    • 391 Beiträge
    16. November 2019 15:53:35 CET
    julia barbosa bardt said:

    Hallo, könnte mir einer vielleicht diesen Satz erläutern : "... dürfen außerdem nicht an den Seiten ein und desselben dritten Quadrats anliegen" .

    Es soll mindestens zwei Quadrate geben, die (locker formuliert) über Eck aneinander liegen, wo aber nicht gleichzeitig mit einem dritten Quadrat auch ein kompletter Winkel entsteht. Malen wir mal die beiden Quadrate als X. Die sollen also so liegen (es gibt zwei Möglichkeiten):

    ?X X? X? ?X

     

    An den Positionen der Fragezeichen darf aber kein Quadrat sein, denn das wäre ein drittes Quadrat, an dessen Seiten die beiden anderen anliegen.