1. Dan the Man
  2. Programmeren
  3. woensdag 07 april 2021
Schrijf een programma in een taal naar keuze dat een lijst afdrukt van alle mogelijke coalities van maximaal 6 partijen die samen een meerderheid van de zetels in de Tweede Kamer (na verkiezingen van maart) hebben. Om de lijst niet te lang te maken dien je als bijv. VVD, D66, CDA en DENK samen al 76 zetels hebben niet nog meer partijen aan de coalitie toe te voegen. Efficiënte en elegante oplossingen genieten de voorkeur.

Hint: ik kwam uit op 380 mogelijke coalities, waarvan 90 % met de VVD erin. De on-line sessie van 17 april is een mooie gelegenheid om resultaten te bespreken.
Reacties (4)
Geaccepteerd antwoord In Afwachting Moderatie
Hierbij twee oplossingen (C++ en Python 3), die beide werken.
Bijlagen
  1. een week geleden
  2. Programmeren
  3. # 1
Geaccepteerd antwoord In Afwachting Moderatie
Hierbij een oplossing in Java.
Bijlagen
  1. 5 dagen geleden
  2. Programmeren
  3. # 2
Geaccepteerd antwoord In Afwachting Moderatie
De programmeeropgave staat live op https://programmeren.hcc.nl/programmeeropgave.html
  1. 2 dagen geleden
  2. Programmeren
  3. # 3
Geaccepteerd antwoord In Afwachting Moderatie
Bij de presentatie afgelopen zaterdag vroeg ik me af waarom de iteratieve versie 8679 combinaties moest testen tegenover 1210 in de recursieve versie. Naar mijn gevoel zou je iteratief ook aan zo'n 1200 pogingen genoeg moeten hebben. Ik kon het niet van me afzetten en heb zonder naar de gisteren geplaatste oplossingen te kijken toch ook maar iets in elkaar gezet. In Lua, lekker primitief, maar net iets minder primitief dan C.

In eerste instantie heeft mijn uitwerking veel weg van de gegeven iteratieve C-oplossing. Van groot naar klein werken en vooruitblikken of er verder nog wat te halen valt. Onderweg de deelnemercombinatie bijhouden in een of andere vorm van array. Het grote verschil is dat mijn versie een rollback-mechanisme bevat dat heel wat iteraties voorkomt. Ik sluit niet uit dat dit mechanisme nòg intelligenter kan, maar een paar betrekkelijk simpele regels maken het al behoorlijk effectief. Verdere optimalisaties, als die al mogelijk zijn, zouden het programma onbegrijpelijk maken, vrees ik. Het is nu al twee keer zo groot als de C-versie. Voor wie het bijgesloten script niet zelf wil draaien, kan ik op de volgende bijeenkomst wel een korte demonstratie geven.

Hier alvast de cijfers: 380 coalities na 756 pogingen. Als ik de maximumeis van hooguit 6 partijen laat vallen, worden er 2430 coalities gevonden na 5303 pogingen. Niet slecht toch.
Bijlagen
  1. 3 uur geleden
  2. Programmeren
  3. # 4
  • Pagina :
  • 1


Er zijn nog geen reacties op dit bericht.
Reageer als een van de eersten op dit bericht!
Nog geen HCC-gebruikersaccount aangemaakt? Klik dan hier.

Inloggen