====== Vorbereitung auf die Informatik-Olympiade ======
Siehe https://soi.ch/contests/2021/round1/ für die Aufgaben.
====== Input/Output ======
Es geht darum, die Datenfiles einzulesen. Das soll direkt vom "Standard Input" erfolgen. Dazu müssen Zahlen und eventuell Strings korrekt geparst werden.
Hier ein Vorschlage für die erste Aufgabe (stairrace):
import sys
# Problem loesen
def loesen(case, lang, links, rechts):
# Loesung ausgeben
print("Case #%d: %d" % (case, 42));
# Daten einlesen
# Alle print-statements müssen natürlich noch raus...
ntest = int(sys.stdin.readline())
print("Es gibt %d Test-Fälle" % ntest)
for test in range(ntest):
print("Testfall %d" % test)
lang = int(sys.stdin.readline())
links = [int(d) for d in sys.stdin.readline().split()]
print(links)
rechts = [int(d) for d in sys.stdin.readline().split()]
print(rechts)
print("Lösung:")
loesen(test, lang, links, rechts)
print("-"*20)
Ausführen mit
python stairrace.py < beispiel2.txt
Und das gleiche in C++:
#include
using namespace std;
void solve(int fall, int lang, int links[], int rechts[]) {
cout << "Case #" << fall << " 42" << endl;
}
int main() {
int n;
cin >> n;
cout << "Testcases : " << n << endl;
for (int c=0; c> lang;
int hoch[2][lang];
for (int seite=0; seite<2; seite++) {
for (int h=0; h> hoch[seite][h];
cout << hoch[seite][h] << " ";
}
cout << endl;
}
solve(c, lang, hoch[0], hoch[1]);
}
return 0;
}
Übersetzen auf der Konsole (Terminal) mit
g++ parse.cpp -o parse
und Ausführen mit
./parse < beispiel2.txt
wobei die in der Datei beispiel2.txt die Eingabe steht.
===== Aufgabe 1, Treppenlauf =====
Hinweis: Den Eingabe-Files sind die Lösungen angehängt, sollten aber vom Solver einfach ignoriert werden (weil nach allen Test-Cases).
* Mehr Test-Cases für Teilaufgabe 3: {{ :lehrkraefte:blc:informatik:ffprg2-2020:stairrace3.txt |}} und {{ :lehrkraefte:blc:informatik:ffprg2-2020:stairrace3b.txt |}}
* Mehr Test-Cases für Teilaufgabe 4 (ohne Gewähr für die Korrektheit): {{ :lehrkraefte:blc:informatik:ffprg2-2020:stairrace4.txt.gz |}}
===== Aufgabe 4, Batterie flicken =====
* Teilaufgabe 3, {{ :lehrkraefte:blc:informatik:ffprg2-2020:a4-t3.txt |TestCases mit möglichen Lösungen}}