Die 1. Runde des 42. Bundeswettbewerbs 2023/2024

Einsendeschluss ist Montag, 20. November 2023.

Aufgabenblatt 42.1

Hier findet ihr das Aufgabenblatt zur 1. Runde zum Download im Original-Layout ebenso wie den Mantelbogen mit allgemeinen Informationen. Ab dem Ende der 1. Runde findet ihr hier auch die Lösungshinweise!

Aufgaben (1,80 MB)      Mantelbogen (1,53 MB)

Hinweise zur Teilnahme

Fragen zu den Aufgaben werden im Community-Forum des Portals Einstieg Informatik beantwortet, ein wiederholter Blick dorthin lohnt sich also. Auch auf dem BWINF-Community Discord Server beantworten wir gerne eure Fragen: Server beitreten. Wertvolle Anregungen geben aber auch Tipps und Beispiellösungen der Vorjahre.

Wichtig für die Einsendung sind zudem die Beschreibungen von Inhalt und Struktur der einzureichenden ZIP-Archivdatei mit der Aufgabenlösung.

 

Git Repository

Unter https://git.bwinf.de könnt ihr euch mit eurem BWINF-Account eigene Git-Repositories anlegen.

WICHTIG: Es sei nochmals nachdrücklich darauf hingewiesen, dass vor Einsendeschluss keine Lösungsideen oder Lösungen mit Programmen veröffentlicht werden dürfen. Stellt daher bitte sicher, dass ein eigenes Repository für den Wettbewerb nicht öffentlich einsehbar ist.

Vorlagen

Hier sowie unter https://git.bwinf.de/bwinf/vorlagen.git haben wir Vorlagen für die Dokumentation zur Verfügung gestellt.


Material zu den Aufgaben

Hier steht das Material für die 1. Runde 42. Bundeswettbewerb und 3. Runde Jugendwettbewerb 2023 zum Download bereit. Das Material steht zusammen mit den Aufgaben auch in diesem zip-Archiv zur Verfügung

Letzte Änderungen

  • 14. September 2023: Aufgabe 2: Die goldene Mitte
    goldenen Würfel aus Beispieleingaben entfernt (außer raetsel3.txt)
  • 05. September 2023: Junioraufgabe 2: St.Egano
    Beispieleingaben korrigiert.
  • 05. September 2023: Aufgabe 3: Zauberschule
    Hinweis zur Länge des Pfades und der ersten Beispieleingabe ergänzt.
    Beispielpfad geändert.
  • 05. September 2023: Aufgabe 4: Nandu
    Beispieleingaben korrigiert: der rote Baustein enthält nun die Information, an welcher Stelle der Lichtsensor ist.
    Erklärung zum neuen Format der Beispieleingaben ergänzt.

Junioraufgabe 1: Wundertüte

Zu dieser Aufgabe gibt es 6 Beispieleingaben:

Jede Datei beschreibt eine Spende an den Kindergarten und enthält
•    in der ersten Zeile die Anzahl n der Wundertüten,
•    in der zweiten Zeile die Anzahl k der Spielesorten
•    und in den folgenden k Zeilen jeweils die Anzahl der Spiele pro Spielesorte.
Die Datei wundertuete0.txt entspricht dem Beispiel aus der Aufgabenstellung.

Zusätzlich findet ihr unter Ein- und Ausgabe eine Blockly-Umgebung, mit der diese Aufgabe bearbeitet werden kann.


Junioraufgabe 2: St. Egano

Zu dieser Aufgabe gibt es 7 Beispieleingaben:

Jede Datei bild*.zip enthält Bilddateien in drei Formaten:

•  bild*.png
•  bild*.tiff
•  bild*.ppm
Diese drei Dateien enthalten alle das gleiche Bild mit der gleichen verschlüsselten Nachricht. Es bleibt also euch überlassen, mit welchem Format ihr am liebsten arbeiten. Informationen zum Format PPM gibt es natürlich in der Wikipedia.
Bis inklusive bild5 müssen die entschlüsselten Nachrichten vollständig in der Dokumentation angegeben werden (außer bei Blockly, siehe Hinweise zum Einlesen der Bilddateien). Für bild6 und bild7 reicht es, wenn ein sinnvoller längerer Abschnitt der entschlüsselten Nachricht angegeben wird, zum Beispiel die ersten 300 Zeichen von vorne und die letzten 300 Zeichen von hinten.

Hinweise zum Einlesen der Bilddateien

Ihr könnt folgendes Programm verwenden, um die Bilder im *.ppm-Format einzulesen: PPM-DateiEinlesen. Das Programm könnt ihr in der Blockly-Umgebung  Ein- und Ausgabe im Bereich „Bausteine öffnen“ laden. Das Bild im *.ppm-Format kopiert ihr als Text in das Eingabefeld. Dafür müsst ihr die Datei z.B. im Texteditor öffnen. Wenn ihr diese Aufgabe mit Blockly implementiert reicht es aus die ersten drei Beispieleingaben, also bis inklusive bild3, zu entschlüsseln da die anderen Bilder zu groß für Blockly sind.

Ihr könnt folgenden Code verwenden, um die Bilder im *.ppm-Format einzulesen (alternativ könnt ihr auch die library PIL verwenden und die Bilder im *.png- oder *.tiff-Format einzulesen): DateiEinlesen.py 

Ihr könnt folgende Klasse verwenden, um Bilder im *.png- oder im *.tiff-Format einzulesen: ImageReader.java


Aufgabe 1: Arukone

Zu dieser Aufgabe gibt es keine vorgegebenen Beispieleingaben.

Hier: arukone.bwinf.de findest du das Challenge-Programm, welches deine Arukone nicht lösen können soll. Eingabedateien für dieses Programm enthalten:
•    in der ersten Zeile die Gittergröße n,
•    in der zweiten Zeile die Anzahl an Zahlenpaaren
•    und in den folgenden Zeilen das Arukone-Rätsel. Dabei wird ein leeres Feld durch eine 0 dargestellt. Die Felder werden durch Leerzeichen voneinander getrennt.

Diese Datei beschreibt das Arukone-Rätsel aus der Aufgabenstellung:
•    arukone0.txt


Aufgabe 2: Die goldene Mitte

Zu dieser Aufgabe gibt es 5 Beispieleingaben:

Jede Datei beschreibt ein Rätsel und enthält
•    in der ersten Zeile die inneren Kantenlängen der würfelförmigen Kiste: x y z,
•    in der zweiten Zeile die Anzahl n an zur Verfügung stehenden Würfeln und Quadern
•    und in den folgenden n Zeilen jeweils die Kantenlängen a b c der zur Verfügung stehenden Würfel und Quader.

Hinweis: Der goldene Würfel ist in den Beispieldateien nicht mit aufgeführt und ist bei jedem Rätsel standardmäßig mit dabei.


Die Datei raetsel5.txt entspricht dem Beispiel aus der Aufgabenstellung.
Als Ausgabeformat bietet es sich an das zusammengesetzte Rätsel Ebenen-weise darzustellen. So kann die Lösung für dieses Rätsel:

So dargestellt werden:

 

Ebene 0             Ebene 1             Ebene 2
1    2    3         1    4    3         1    4    3
1    2    3         1    G    3         1    6    3
1    2    3         1    5    3         1    5    3

 

In diesem Beispiel stehen die Zahlen für einen Würfel oder Quader an dieser Position. Die 1 und die 3 stellen zum Beispiel die ersten beiden Quader in der Liste dar. Alternativ kann natürlich auch ein Bild ausgegeben werden:


Aufgabe 3: Zauberschule

Zu dieser Aufgabe gibt es 6 Beispieleingaben:

Jede Datei beschreibt den Plan einer Zauberschule und enthält
•    in der ersten Zeile die Dimensionen n m jedes Stockwerkes.
•    In den darauffolgenden n Zeilen ist das erste Stockwerk dargestellt und gefolgt von
•    einer Leerzeile
•    in weiteren n Zeilen das zweite Stockwerk.

Dabei steht das A immer für die Startpostion und das B immer für die Zielposition. Eine Wand wird durch eine # dargestellt und ein freies Feld durch einen Punkt. Bis inklusive zauberschule3.txt müssen die Pfade in der Dokumentation mit angegeben werden. Für zauberschule4.txt und zauberschule5.txt reicht es aus die Länge des schnellsten Weges anzugeben und den Pfad als externe Datei mit einzureichen.

Die Datei zauberschule0.txt entspricht dem Beispiel aus der Aufgabenstellung. Hinweis: Weil in der Darstellung mit Textzeichen die Wände der Zauberschule ein Zeichen "dick" sind, sind auch die Wege länger, als wenn man die Stockwerke wie in der Aufgabenstellung zeichnen würde. Im Beispiel aus der Aufgabenstellung braucht Ron deswegen 8 Sekunden statt 7.

Der Pfad selbst kann zum Beispiel mit <, >, ^ und v für die Richtungen und ! für den Wechsel beschrieben werden. So sieht der Pfad für folgendes Beispiel:

 

#############
#...........#
#######B###.#
#....A#...#.#
#.#########.#
#...........#
#############

#############
#.....#.....#
#.#.#######.#
#...#.......#
#.#.#.#.###.#
#.#...#...#.#
#############

 

wie folgt aus:

 

#############
#....>>v....#
#######B###.#
#..!<<#...#.#
#.#########.#
#...........#
#############

#############
#..>>!#.....#
#.#^#######.#
#..^#.......#
#.#.#.#.###.#
#.#...#...#.#
#############

Aufgabe 4: Nandu

Zu dieser Aufgabe gibt es 5 Beispieleingaben:

Jede Datei beschreibt eine Konstruktion und enthält
•    in der ersten Zeile die Breite n und die Höhe m der Konstruktion
•    und in den folgenden m Zeilen eine Darstellung der Konstruktion.
In der ersten Zeile der Konstruktion sind immer die Taschenlampen mit Q* angegeben. In der letzten Zeile der Konstruktion sind immer die LEDs mit L* gegeben. 
Ein einzelner Baustein hat immer eine Breite von zwei. Ein weißer Baustein ist also gegeben mit W W, einer roter Baustein mit r R bzw. R r und ein blauer Baustein mit B B. Ein nicht belegtes Feld ist mit einem X markiert. Bei einem roten Baustein markiert das große jeweils die Position des Lichtsensors und ein kleines r, dass an dieser Stelle kein Lichtsensor ist.

Die Datei nandu1.txt entspricht der rechten Konstruktion auf dem Aufgabenblatt.


Aufgabe 5: Stadtführung

Zu dieser Aufgabe gibt es 5 Beispieleingaben:

Jede Datei beschreibt eine Tour und enthält
•    in der ersten Zeile die Anzahl n an Tourpunkten
•    und in den darauffolgenden n Zeilen jeweils die Informationen zu einem Tourpunkt: 

Ort, Zeitpunkt, Essentiell, kumulierter Abstand

 An dritter Stelle steht entweder ein X (der Tourpunkt ist essentiell) oder ein Leerzeichen ' ' (der Tourpunkt ist nicht essentiell). Der kumulierte Abstand gibt an, wie weit man auf der Tour des Vaters von deren Startort zu diesem Tourpunkt laufen muss. Kumuliert bedeutet, dass die Abstände aufaddiert werden und zwischen den einzelnen Tourpunkten wie im folgenden kleinen Beispiel berechnet werden können:

 

Brauerei,1613,X,0
Karzer,1665,X,80
Rathaus,1678,X,150
...

 

Daraus ergeben sich folgende Distanzen:

Ort 1 Ort 2 Abstand
Brauerei Karzer 80
Brauerei Rathaus 150
Karzer Rathaus 70
...    

Hinweis: Natürlich sollen bei diesem Wettbewerb keine Lösungsideen und keine Einsendungen der Aufgaben vor dem Einsendeschluss öffentlich zugänglich gemacht werden. Bitte verwendet daher vor Einsendeschluss keine öffentlichen Repositories für eure Lösungen.

Noch Fragen? Antworten finden sich in den FAQs des Bundeswettbewerbs.

 

Unsere Träger


Von der Kultusministerkonferenz empfohlene Schülerwettbewerbe

Hier finden Sie uns

Bundesweite Informatikwettbewerbe (BWINF)
In der Raste 12
53129 Bonn

Telefon
0228 - 3729000

Haben Sie Fragen?