Eenmaal aangesloten op de datapoort van het vliegtuig, ontdek je dat er een enorme tropische storm voorspeld wordt. Voordat je erachter kunt komen of dit een invloed zal hebben op je vakantieplannen, schakelt je laptop plots uit!

De batterij is leeg.

Je moet de stekker in het stopcontact steken. Er is maar één probleem: het stopcontact vlak bij je stoel heeft de verkeerde spanning. Voorbereid als je bent, maak je een lijst op van alle netvoedingsadapters die je in je rugzak hebt zitten.

Elke netvoedingsadapter is produceert een specifieke uitvoerspanning. Elke adapter kan een spanning van 1, 2 of 3 volt lager binnenkrijgen dan zijn nominale waarde en toch zijn nominale uitvoerspanning produceren.

Bovendien heeft je laptop een ingebouwde netvoedingsadapter met een spanning die 3 volt hoger is dan de adapter met de hoogste uitvoerspanning in je rugzak. (Als je lijst van adapters 3, 9 en 6 volt was, dan zou de ingebouwde adapter van je laptop een geschikt zijn voor een spanning van 12 volt.)

Beschouw het stopcontact in de buurt van je stoel als een effectieve spanning van 0 volt.

Aangezien je heel wat tijd moet doden, kan je net zo goed al je adapters testen. Ik zou niet naar een resort willen gaan, om vast te stellen dat je je laptop niet eens kunt opladen!

Als je alle adapters in je rugzak tegelijk gebruikt, wat is dan de verdeling van de spanningsverschillen tussen het oplaadpunt, de adapters en je laptop?

Stel bijvoorbeeld dat de adapters in je rugzak de volgende uitvoerspanningen hebben:

16
10
15
5
1
11
7
19
6
12
4

Met deze adapters zou de ingebouwde ingebouwde netvoedingsadapter van je laptop een spanning van 19 + 3 = 22 volt aankunnen, 3 volt hoger dan de adapter met de hoogste uitvoerspanning.

Omdat adapters enkel verbinding kunnen maken met een bron die 1-3 volt lager ligt dan hun uitvoerspanning, met je ze op de volgende manier aan elkaar schakelen om alle adapters te gebruiken:

Als je in dit voorbeeld alle 7 de adapters gebruikt, dan heb zijn er 7 verschillen van 1 volt en 5 verschillen avn 3 volt.

Hier is er nog een groter voorbeeld:

28
33
18
42
31
14
46
20
48
47
24
23
49
45
19
38
39
11
1
32
25
35
8
17
7
9
4
2
34
10
3

Als je alle adapters uit dit grotere voorbeeld aan elkaar schakelt, dan heb je 22 verschillen van 1 vol en 10 verschillen van 3 volts.

Opgave

Maak een ketting die al je adapters gebruikt om het laadpunt aan te sluiten op de ingebouwde adapter van je laptop en tel de spanningsverschillen tussen het laadpunt, de adapters en je laptop. Wat is het aantal spanningsverschillen van 1 volt vermenigvuldigd met het aantal spanningsverschillen van 3 volt? Hiervoor ga je als volgt te werk:

Deze statische functie moet zich in de klasse Submission bevinden.

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat de tekstbestanden adapters1.txt1 en adapters2.txt2 zich in de huidige directory bevinden.

> Submission.differences("adapters1.txt")
35
> Submission.differences("adapters2.txt")
220