Bundeswettbewerb Informatik: BWINF
-
J. Mueller schrieb:
Ich will kein Spielverderber sein, deshalb frage ich ob es jemanden stoeren wuerde wenn ich meinen Code hier fuer alle zugaenglich mache?
Es würde stören. Sollte es nämlich eine korrekte Lösung sein, würde es doch den Bundeswettbewerb Informatik total verzerren - soll der Erfolg von der Googlefähigkeit abhängen?
Ich fänd's total unfair.
-
Ich finde die erste Aufgabe allegemeinhin auch krass.
Immerhin gehört das Problem, welches da gelöst werden will, zu den NP-P Problemen. Und wer das löst, braucht beim BWINF wohl nicht mehr mitmachen. Der hat das dann nicht mehr nötig.
-
stalafin schrieb:
Ich finde die erste Aufgabe allegemeinhin auch krass.
Immerhin gehört das Problem, welches da gelöst werden will, zu den NP-P Problemen. Und wer das löst, braucht beim BWINF wohl nicht mehr mitmachen. Der hat das dann nicht mehr nötig.
whaa??? Ich hab die erste Aufgabe gelöst, obwohl ich mich erst seit zwei wochen mit C++ richtig beschäftige (davor nen bischen Delphi/Pascal aber mehr als arrays hab ich da auch nich gelernt) und habe die erste aufgabe dennoch an einem abend geschafft. Btw: Was zur Hölle ist ein NP-P Problem?
Hab mir ma das auf Wikipedia durchgelesen, aber daraus werd ich nich schlau. Was hat das mit der Aufgabe zu tun?
-
stalafin schrieb:
Ich finde die erste Aufgabe allegemeinhin auch krass.
Immerhin gehört das Problem, welches da gelöst werden will, zu den NP-P Problemen. Und wer das löst, braucht beim BWINF wohl nicht mehr mitmachen. Der hat das dann nicht mehr nötig.
Das eine hat mit dem anderen nix zu tun. Wenn man einfach einen brute-force algorithmus implementiert (weil man z.B. keine Lust hat, sich übermäßig gedanken zu machen
), und ein paar sehr naheliegende optimierungen durchführt, sind alle Probleme bis auf das ganz große sehr schnell lösbar (und selbst das in unter 15min). Da muss man weder was über Komplexitätsklassen wissen noch die NP-Komplettheit des Problems erkennen (ist es das? es sieht ja so aus, aber ich kann grad nichts darauf reduzieren).
-
Habe irgendwann mal im Netz etwas über NP in Zusammenhang mit Streckenoptimierung gelesen (100 Orte sind gegeben - welcher Weg ist der schnellste, wenn man am alle 100 Orte bereisen möchte). Kommt unserem Problem ja recht nahe.
Jaja - in die Richtung Brute Force geht mein Algorithmus auch.
Hehe, nur schein ich nicht auf die entscheidende Optimierung zu kommen.
Ich mein, eine habe ich (ohne die es wohl Jahre dauern würde, die ganze Geschichte durchzugehen).
Aber ansonsten...Aber ganz ehrlich - ihr benutzt Brute Force Methoden und braucht unter 15 Minuten egal für welche Aufgabe? Ich kann mir das irgendwie nicht so recht vorstellen.
Auch mit Ausgabe und allem (jeden Monat)?
-
Also ich hab den Thread mit viel Interesse gelesen. Hatte für Beispiel 2 auch erst 199 Monate, hab dann aber dank der Ergebnisse anderer Leute einen Fehler entdeckt, so dass ich hinterher nur noch 172 Monate hatte.
Beispiel 1: 131071 Moante; 1,444 Sekunden
Beispiel 2: 172 Monate; 0,137 Sekunden
Beispiel 3: 1026 Monate; 0,488 Sekunden
Sprache: C++Es ist mir ein Rätsel, wie man für die Aufgabe im Aufgabenblatt unter 13 Monaten rausbekommen kann. Ich finde die Aufgabe auch zu anspruchsvoll für die erste Runde.
PS: Cool, dass es mal ein Forum ohne Registrierungspflicht gibt.
-
stalafin schrieb:
Auch mit Ausgabe und allem (jeden Monat)?
Ohne natürlich.
-
CA schrieb:
Beispiel 1: 131071 Moante; 1,444 Sekunden
Beispiel 2: 172 Monate; 0,137 Sekunden
Beispiel 3: 1026 Monate; 0,488 SekundenIch kann mir nicht vorstellen, dass ein korrekter Algorithmus so schnell arbeiten kann. Ich bin mal auf die Codes nach dem Abgabetermin gespannt.
-
Ich bin mir eigentlich recht sicher, dass die Ergebnisse korrekt sind. Ich weiß natürlich nicht, ob die Ergebnisse optimal sind.
-
CA schrieb:
Ich bin mir eigentlich recht sicher, dass die Ergebnisse korrekt sind. Ich weiß natürlich nicht, ob die Ergebnisse optimal sind.
Wie soll man diese beiden Aussagen miteinander vereinen? Denn nur ein optimales Ergebnis ist auch korrekt.
-
Michael E. schrieb:
CA schrieb:
Ich bin mir eigentlich recht sicher, dass die Ergebnisse korrekt sind. Ich weiß natürlich nicht, ob die Ergebnisse optimal sind.
Wie soll man diese beiden Aussagen miteinander vereinen? Denn nur ein optimales Ergebnis ist auch korrekt.
Da hast du natürlich recht. Ich meinte, dass ich die Regeln nicht verletze (z.B. dass ich in einem Monat nicht zu viel ausgebe oder einen Gegenstand in einem Monat mehrfach besitze). Die Ergebnisse sind allerdings gleich gut wie die Besten, die ich bisher in diesem Forum gehört habe. Deshalb vermute ich, dass sie die Bestmöglichen sind. Das muss natürlich nicht stimmen.
-
Das ist so nicht ganz richtig, du kommst auch mit einem nicht optimalen Algorithmus zu einem Ergebnis, es gibt mehre Möglichkeiten, auf diese Monatszahlen zu kommen.
Dass er korrekt arbeitet, dafür spricht, dass alle deine Ergebnisse gleich denen der genannten ist! Aber, 100% richtig muss deine Algorithmus auch nicht sein, also es kann sein, dass er nicht ganz optimal ist.
Abdererseits müssen die genannten Zeiten keinesfalls eine Messlatte sein!mfg
blut-lecker
-
blut-lecker schrieb:
Das ist so nicht ganz richtig, du kommst auch mit einem nicht optimalen Algorithmus zu einem Ergebnis, es gibt mehre Möglichkeiten, auf diese Monatszahlen zu kommen.
Dass er korrekt arbeitet, dafür spricht, dass alle deine Ergebnisse gleich denen der genannten ist! Aber, 100% richtig muss deine Algorithmus auch nicht sein, also es kann sein, dass er nicht ganz optimal ist.
Abdererseits müssen die genannten Zeiten keinesfalls eine Messlatte sein!Ich bin auf jeden Fall mit dem zufrieden, was ich habe. Ich hatte schon gedacht, ich würde die Aufgabe garnicht lösen. Ich werd einfach mal abwarten, was nach der Bewertung rauskommt.
Ich mach sicherheitshalber mal vier Aufgaben, dann werden schon mehr als 12 Punkte übrigbleiben. Das hat letztes Jahr auch geklappt. Ich bin dann allerdings an der zweiten Runde hängengeblieben (wie dieses Jahr vermutlich auch wieder, aber man muss es ja versuchen ).
[Meine Meinung zu den Aufgaben]
Die anderen Aufgaben sind ja alle relativ leicht. Die Aufgabe 1 passt irgendwie garnicht rein. Aber als Ausgleich gibt es ja Aufgabe 5, die eigentlich nur Programmier-/Dokumentationsarbeit ist. Die Kreativaufgabe (3) ist auch nicht so mein Ding; viel Arbeit, aber nicht sehr interessant. Die Nummer 4 würde ich zwar normalerweise nicht machen, aber ich glaube mir bleibt keine andere Wahl, also bleibt insgesamt Aufgabe 1(fertig)+2(fertig)+4+5(fertig). Die Doku muss ich auch noch machen. Wird viel Arbeit diese Woche. So, das war jetzt meine ganz subjektive Meinung zu den Aufgaben, nur für den Fall, dass es jemanden interessiert
.
[/Meine Meinung zu den Aufgaben]
-
Ich dachte auch zuerst, dass die Aufgabe 5 (ziemlich) einfach wäre. Allerdings oszilliert oder konvergiert bei mir der Zustand der Lampen immer relativ schnell. In der Aufgabe steht zwar nirgends, dass das nicht erlaubt wäre, aber schön ist es auf jeden Fall nicht...
P.S.: Bei der ersten Aufgabe habe ich die gleichen Ergebnisse wie CA, bei mir dauert das 2. Beispiel von der Seite am längsten, aber immer noch (knapp) unter einer Minute.
Felix
-
Ich frage nochmal:
Diejenigen, die eine derart schnelle Berechnung der Anzahl an benötigten Monaten zum Kaufen aller Gegenstände haben: Habt ihr auch eine Ausgabe der zu kaufenden Gegenstände pro Monat?Bei mir steht nämlich in der Aufgabenstellung:
Dann muss es berechnen, welche
der Gegenstände besorgt werden können, und einen Plan ausgeben, welche Gegenstände in
jedem Monat gekauft beziehungsweise zurückgegeben werden sollen.Weil ich habe den Eindruck, dass das bei vielen genau nicht der Fall ist (einige haben es ja auch gesagt).
-
Ich habe, weil ich noch totaler Anfänger bin das ganze in einer Konsole geschrieben, d.h. ich hab kein UI. Aber bei mir rechnet der die Aufgaben eigentlich blizzschnell aus, so hatte ich das Bsp nr1) mit den paar 100000 Monaten in weniger als ner Sekunde raus. Mit Plan, in welchem Monat man was kaufen bzw verkaufen muss. Bei meinem Programm besteht jedoch der Nachteil, dass man vorher eingeben muss wieviele unterschiedliche Gegenstände existieren und diese dann auch einzeln eintragen muss.
-
stalafin schrieb:
Ich frage nochmal:
Diejenigen, die eine derart schnelle Berechnung der Anzahl an benötigten Monaten zum Kaufen aller Gegenstände haben: Habt ihr auch eine Ausgabe der zu kaufenden Gegenstände pro Monat?Ohne die Ausgabe natürlich. Mit Ausgabe dauert es deutlich länger. Aber interessant ist eigentlich nur die Berechnungszeit, da die Ausgabezeit so lang wird und auch bei jedem Programmdurchlauf extrem unterschiedlich ist, dass man mit Ausgabe die Qualität des Alogrithmus nicht messen kann. Wenn man die Zeit zur Ausgabe bewertet kommt es im Prinzip nur darauf an, wer das schnellere Konsolenprogramm hat und wer weniger Ausgabe pro Monat produziert. Meine Werte sind daher die Zeiten, die das Programm braucht, wenn man die ausführliche Ausgabe (mit Daten für jeden Monat) in eine Datei schreibt.
-
Hey Leute,
ich hab ein kleines Anliegen an euch.
Die Abgabe zum BWInf ist ja am Montag. Meint ihr, einer von euch könnte Montag Abend hier die Lösung zu einem der Aufgaben (am besten die 4) online stellen?
Es geht um folgendes:
Eine gute Freundin von mir hat in der Schule Informatik gewählt (warum müssen immer die DAU's informatik wählen?). Nun stellt deren Lehrer in jedem Halbjahr eine große Hausaufgabe, die sich 1x im Jahr mit dem BWInf überschneidet - sprich: die Schüler müssen eine der BWInf Aufgaben lösen.
Bisher habe ich dies jedes Jahr für sie übernommen.
Nun kam sie aber erst letzte Woche angedackelt und meinte, sie habe vergessen mir die Blätter zu geben - echt toll^^ - nur leider hatte ich erst 3 Monate Semesterferien, in denen ich schön hätte arbeiten können, aber jetzt stecke ich wieder voll im Semester und habe keine Zeit.Nun die bitte an euch: Kann mir einer Montag Abend seine Lösung zu einer der Aufgaben zukommen lassen? Dann könnte sie diese am Dienstag abgeben (am Dienstag ist Abgabeschluss der Hausaufgabe)
Dad wäre echt nett von euch.
Gruß
Christian
ps: eMail: christian@felsenweg.de
-
stalafin schrieb:
Ich frage nochmal:
Diejenigen, die eine derart schnelle Berechnung der Anzahl an benötigten Monaten zum Kaufen aller Gegenstände haben: Habt ihr auch eine Ausgabe der zu kaufenden Gegenstände pro Monat?Natürlich MIT Ausgabe
das wird bei dem einen Beispiel mit dem Budget von 1€ dann zwar fast eine 7-MB(!) plain-text Datei, aber es geht in knapp 20 Sekunden auf einem 2-GHz Rechner...
@s9ccbeck: Hört sich zwar nach einer komischen Ausrede an, aber am Montag um 23:59 sollte gehen
-
Jutjut, ich habe doch noch ne schnieke Optimierung gefunden.
(nachdem ich heute morgen den Rechner eingeschaltet hatte und er bis jetzt mit der dritten Aufgabe am werkeln war).
Jetzt ist er nach ner Minute an dem Punkt angelangt, an der das alte Prog nach 10 Stundem war. Man ist das grausam.Beispiel 1 (1 Euro) schafft er jetzt in ~ 30 Sekunden. *froi*
Aber auf ne 7 MByte-txt-Datei komme ich nicht. Bei mir sinds 5,8 MByte.