Alice en Bob hebben zelf een spelletje uitgevonden, waarbij ze een aantal chocoladerepen achter elkaar plaatsen. Alice begint de chocoladerepen één na één op te eten van links naar rechts, en Bob doet hetzelfde van rechts naar links. Alice en Bob eten even snel, en van elke chocoladereep is op voorhand geweten hoeveel tijd er nodig is om ze op te eten. Als Alice of Bob een chocoladereep volledig heeft opgegeten, dan begint zij/hij onmiddellijk de volgende op te eten. Bij hun spelletje is het niet toegelaten om twee chocoladerepen terzelfdertijd op te eten, chocoladerepen maar half op te eten, of pauzes in te lassen. Als beiden op hetzelfde moment dezelfde chocoladereep willen opeten, dan is Bob de hoffelijkheid zelve en laat Alice voorgaan.
Hoeveel chocoladerepen hebben Alice en Bob elk opgegeten op het einde van het spelletje?
Implementeer de gegeven interface1 ChocolateConsumerPair
met een klasse genaamd DarkChocolateConsumerPair
. Hiervoor schrijf je een functie public int consume(int[] bars)
, die een tabel die de benodigde tijd om de verschillende chocoladerepen op te eten als argument neemt, en teruggeeft hoeveel Alice er opgegeten zal hebben.
consume(new int[]{ 2, 9, 8, 2, 7 }) == 2
consume(new int[]{ 1, 2, 3, 4, 3, 2, 1}) == 4
Gebruik eventueel de testklasse SimpleTest
2 om je oplossing lokaal te testen. Je kan hierin eenvoudig extra testgevallen toevoegen.