Aufgabe 3 aus dem 34. Bundeswettbewerb Informatik

Flaschenzug

Die Aufgabe:

Familie Soda beginnt einen 14-tägigen Abenteuerurlaub. Ziel ist die trinkwasserlose, unbewohnte Insel Drøgø, deren Küste ringsherum sehr steil ist. Frühere Urlauber haben bereits einen Flaschenzug installiert, mit dem die vielen benötigten Getränkeflaschen nach oben gezogen werden können. Zum Glück stehen auch viele Behälter mit genügend Platz für alle Flaschen zur Verfügung, damit mehrere Flaschen auf einmal transportiert werden können.

Während die Eltern die mitgebrachten Flaschen auf Behälter verteilen, überlegen ihre Kinder Cora und Linus, wie viele Möglichkeiten es wohl insgesamt gibt, die Flaschen auf die Behälter zu verteilen.

Bei sieben Flaschen und zwei Behältern, von denen in den einen drei und in den anderen fünf Flaschen passen, gibt es genau zwei Möglichkeiten: Der kleinere Behälter ist entweder ganz voll oder enthält genau zwei Flaschen. Auf drei Behälter mit Platz für genau zwei, drei und vier Flaschen lassen sich die sieben Flaschen auf genau sechs Arten verteilen.

Aufgabe

Schreibe ein Programm, das eine Anzahl N von Flaschen, eine Anzahl k von Behältern und die k Fassungsvermögen der Behälter einliest und berechnet, auf wie viele Arten die Flaschen verteilt werden können. Die Flaschen sind nicht unterscheidbar, aber die Behälter sind es, auch wenn sie gleich groß sind.

Wende dein Programm mindestens auf die Beispiele an, die du unten findest, und dokumentiere jeweils das Ergebnis.

Material:

Für diese Aufgabe stellen wir die Eingaben aus der Aufgabenstellung und fünf weitere Beispieleingaben bereit. Die Beispiele 0 bis 2 sollte jeder gut hinbekommen. Ab Beispiel 3, spätestens ab Beispiel 4 wird es schwierig. Es wird empfohlen, sich über das Prinzip "Teile und herrsche" zu informieren und/oder über mehrfache Berechnungen nachzudenken.

Die Dateien mit den Eingabedaten sind jeweils so aufgebaut:

Zeile 1: Anzahl der Flaschen (N)
Zeile 2: Anzahl der Behälter (k)
Zeile 3: Fassungsvermögen der Behälter (durch k Zahlen angegeben)

Die Datei mit den Daten aus der Aufgabenstellung (flaschenzug0.txt) sieht also so aus:

7
2
3 5

Beispiellösung:

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?