Mechanical Doll. doll

Vergelijkbare documenten
International Olympiad in Informatics 2013

Opgave 2. Binaire informatie

International Olympiad in Informatics Lang lang geleden, toen de wereld nog nieuw was en de IOI nog niet bedacht was...

Brisbane is overgenomen door grote gemuteerde wombats. Je moet de inwoners in veiligheid brengen.

International Olympiad in Informatics 2013

De eerste ronde Nederlandse Informatica Olympiade

De invoer bestaat uit twee lijnen. Op de eerste lijn staat l en op de tweede lijn u, met l, u [1, 500].

International Olympiad in Informatics 2013

Opgave 1. Olympische prestaties

Functioneel programmeren

Uitleg. Welkom bij de Beverwedstrijd Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

l e x e voor alle e E

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Modelleren C Appels. Christian Vleugels Sander Verkerk Richard Both. 2 april Inleiding 2. 3 Data 3. 4 Aanpak 3

woensdag 2/3/4² - Diepenbeek OPGAVEN CAT 4

3. Structuren in de taal

wizprof maart 2013 Veel succes en vooral veel plezier.!! je hebt 75 minuten de tijd rekenmachine is niet toegestaan

Score. Zelfevaluatie. Beoordeling door de leerkracht. Datum: Klas: Nr: Naam:

7,6. Samenvatting door A woorden 12 april keer beoordeeld. Natuurkunde. Natuurkunde Systemen. Systemen

Achtste college algoritmiek. 8 april Dynamisch Programmeren

1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen

Rekenoefening groep 5 Doel

De eerste ronde Nederlandse Informatica Olympiade

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Het Eindfeest. Algoritmiek Opgave 6, Voorjaar

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

De oplossing staat hierboven getekend in het rooster en komt overeen met de volgende 18-staps oplossing:

Hebzucht loont niet altijd

DOMjudge teamhandleiding

Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

Eerste ronde Nederlandse Wiskunde Olympiade

4.1 Cijfermateriaal. In dit getal komen zes nullen voor. Om deze reden geldt: = 10 6

Basiskennis lineaire algebra

DE WERKVORM IN HET KORT

Uitwerkingen oefeningen hoofdstuk 2

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Getalformaten, timers en tellers

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

IJkingstoets Industrieel Ingenieur. Wiskundevragen

l e x e voor alle e E

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Informatica: C# WPO 13

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

Uitwerkingen Rekenen met cijfers en letters

6.1 Kwadraten [1] HERHALING: Volgorde bij berekeningen:

1 Kettingbreuken van rationale getallen

Praktische opdracht Wiskunde A Patience

4.1 Negatieve getallen vermenigvuldigen [1]

Rekenoefening groep 8 Doel

De eerste ronde Nederlandse Informatica Olympiade

Uitwerking Puzzel 93-1, Doelloos

IJkingstoets Wiskunde-Informatica-Fysica juli 2018: algemene feedback

Eindexamen wiskunde B 1 havo I

Programmeermethoden NA. Week 6: Lijsten

Afbeelding 12-1: Een voorbeeld van een schaakbord met een zwart paard op a4 en een wit paard op e6.

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.

Factor = het getal waarmee je de oude hoeveelheid moet vermenigvuldigen om een nieuwe hoeveelheid te krijgen.

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

Hoofdstuk 7: METING VAN DE FREQUENTIE- NAUWKEURIGHEID

1 Binaire plaatjes en Japanse puzzels

6.1 Kwadraten [1] HERHALING: Volgorde bij berekeningen:

Eindexamen wiskunde A havo I

Pong. Intermediate. Een project in Scratch.

Hoofdstuk 6: Zelf functies maken

Programmeermethoden NA

De keuzestructuur. Versie DD

2 REKENEN MET BREUKEN Optellen van breuken Aftrekken van breuken Vermenigvuldigen van breuken Delen van breuken 13

DOMjudge teamhandleiding

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Digitale technieken Deeltoets II

Een eenvoudig algoritme om permutaties te genereren

2 Elementaire bewerkingen

3.1 Negatieve getallen vermenigvuldigen [1]

Normering en schaallengte

12 Vlaamse Wiskunde Olympiade : Eerste ronde.

Programmeer-handleiding Easyboard MB

7 a patroonnummer a patroonnummer a h = z

2. Het getal = 1800 is even. De andere antwoorden zijn oneven: 2009, = 11, = 191, = 209.

Vakgroep CW KAHO Sint-Lieven

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016

IJkingstoets burgerlijk ingenieur-architect september 2018: feedback deel wiskunde

IJkingstoets burgerlijk ingenieur-architect september 2018: feedback deel wiskunde

D-dag 2014 Vrijeschool Zutphen VO. D -DAG 13 februari 2014: 1+ 1 = 2. (en hoe nu verder?) 1 = 2en hoe nu verder?

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

Handleiding Japanse puzzels

woensdag 2/3/4² - Diepenbeek OPGAVEN CAT 3

DomJudge-Practicum. Open Dag UU

Informatica: C# WPO 12

Examen Datastructuren en Algoritmen II

Het warmteverlies van het lichaamsoppervlak aan de wordt gegeven door de volgende formule:

INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN

Detector Ability Achtergronden bij het instrument

Small Basic Programmeren Text Console 2

xxter 2N Intercom configuratie

NAAM: Programmeren 1 Examen 29/08/2012

wiskunde C vwo 2018-I

Transcriptie:

doll Mechanical Doll Een mechanische pop is een pop die automatisch een specifieke serie bewegingen herhaald In Japan zijn er al eeuwenlang allerlei mechanische poppen gemaakt De bewegingen van een mechanische pop worden gestuurd door een circuit dat is opgebouwd uit apparaten De apparaten zijn verbonden met buizen Elk apparaat heeft een of twee uitgangen en kan willekeurig veel (mogelijk nul) ingangen Elke buis verbindt een uitgang van een apparaat met een ingang van hetzelfde of een ander apparaat Precies één buis is verbonden met elke ingang en precies één buis is verbonden met elke uitgang Om te beschrijven hoe de pop beweegt ga je uit van een bal die wordt geplaatst in één van de apparaten De bal reist door het circuit Bij elke stap van de reis verlaat de bal het apparaat door één van zijn uitgangen, en reist door de verbonden buis naar het apparaat aan de andere kant van deze buis Er zijn drie types apparaten: oorsprong, trigger en schakelaar Er is precies één oorsprong, er zijn triggers en schakelaars ( kan nul zijn) Jij mag zelf een waarde van kiezen Ieder apparaat heeft een uniek serienummer De oorsprong is het apparaat waar de bal oorspronkelijk wordt geplaatst De oorsprong heeft precies één uitgang Het serienummer van de oorsprong is Een trigger zorgt ervoor dat de pop een bepaalde beweging maakt als de bal er binnenkomt Elke trigger heeft één uitgang De serienummers van de triggers lopen van tot en met Elke schakelaar heeft twee uitgangen, aangeduid met 'X' en 'Y' De toestand van een schakelaar is 'X' of 'Y' Als er een bal in een schakelaar komt, verlaat hij de schakelaar Doll (1 of 6)

weer door de uitgang die hoort bij de toestand van de schakelaar Daarna verandert de toestand van de schakelaar Aan het begin is de toestand van iedere schakelaar 'X' De serienummers van de schakelaars lopen van tot en met Jij krijgt het aantal triggers gegeven Je krijgt ook een rij van lengte, waarvan elk element het serienummer is van een trigger Elke trigger kan een aantal keren (dit kan ook nul zijn) voorkomen in de rij Jij moet een circuit ontwerpen dat aan de volgende voorwaarden voldoet: De bal keert na een aantal stappen weer om de oorsprong terug Als de bal weer voor het eerst bij de oorsprong terugkomt is de toestand van iedere schakelaar 'X', De bal keert voor het eerst bij de oorsprong weer na precies triggers De serienummers van deze triggers, in de volgorde dat ze bezocht worden, zijn is het aantal, door de bal veroorzaakte toestandsveranderingen van alle schakelaars voordat de bal weer voor het eerst in de oorsprong terugkomt is niet groter dan Je wil niet te veel schakelaars gebruiken Implementatiedetails Implementeer de volgende procedure create_circuit(int M, int[] A) M : het aantal triggers A : een array met lengte, waarin de serienummers worden gegeven van de triggers die de bal moet binnengaan, in de volgorde waarin ze bezocht moeten worden Deze procedure wordt precies één keer aangeroepen Let op: de waarde van is de lengte van het array A, en die kun je verkrijgen zoals staat aangegeven in de implementatieopmerkingen Jouw programma moet de volgende procedure aanroepen om antwoord te geven answer(int[] C, int[] X, int[] Y) Doll (2 of 6)

C : een array van lengte De uitgang van apparaat ( ) is verbonden met apparaat C[i] X, Y : arrays van dezelfde lengte De lengte van deze arrays is het aantal schakelaars Voor schakelaar ( ), is uitgang 'X' is verbonden met apparaat X[j - 1] en uitgang 'Y' verbonden met apparaat Y[j - 1] Elk element van C, X, and Y moet een geheel getal zijn, van tot en met mag hoogstens zijn Deze procedure moet precies één keer worden aangeroepen Het circuit dat wordt gerepresenteerd door C, X, en Y moet voldoen aan de voorwaarden in de probleembeschrijving Als niet aan alle voorwaarden hierboven wordt voldaan, wordt je programm beoordeeld als Wrong Answer Anders wordt je programma beoordeeld als Accepted en wordt je score bepaald op basis van (zie Subtasks) Voorbeeld Stel,, en De grader roept create_circuit(4, [1, 2, 1, 3]) aan De figuur hierboven laat een circuit zien dat is beschreven door een aanroep answer([1, -1, -2, 0, 2], [2, -2], [3, 1]) De getallen in de figuur zijn de serienummers van de apparaten Er worden twee schakelaars gebruikt, dus geldt In het begin staan schakelaars en beide in toestand 'X' De bal reist als volgt: Doll (3 of 6)

Als de bal de eerste keer schakelaar ingaat, is de toestand ervan 'X' Daarom reist de bal naar trigger De toestand van schakelaar wordt gewijzigd in 'Y' Als de bal de schakelaar voor de tweede keer ingaat is de toestand ervan 'Y' Daarom reist de bal naar trigger De toestand van schakelaar wordt gewijzigd in 'X' De bal komt voor de eerste keer terug in de oorsprong, nadat de triggers zijn bezocht De toestand van de schakelaars en is allebei 'X' De waarde van is Daarom voldoet dit circuit aan de voorwaarden Het bestand sample-01-intxt in de gezipte bijlage komt overeen met dit voorbeeld Er zijn ook andere voorbeelden van invoer in de bijlage Randvoorwaarden ( ) Subtaken De score en de randvoorwaarden voor ieder testgeval zijn als volgt: 1 (2 punten) Voor elke ( ), komt getal hoogstens eenmaal voor in de rij 2 (4 punten) Voor elke ( ), komt getal hoogstens tweemaal voor in de rij 3 (10 punten) Voor elke ( ), komt getal hoogstens keer voor in de rij 4 (10 punten) 5 (18 punten) 6 (56 punten) Geen aanvullende voorwaarden Voor elk testgeval waarbij je programma wordt beoordeeld als Accepted, wordt je score berekend op basis van de waarde van : Als, krijg je de volledige score voor het testgeval Voor elke test in Subtasks 5 en 6 geldt dat als je een gedeeltelijke score verdient De score voor het testgeval is, vermenigvuldigd met de score die bij de subtask hoort Anders is de score Doll (4 of 6)

Let op: je score voor iedere subtask is het minimum van de scores die je programma haalt voor de testgevallen van die subtask Voorbeeldgrader De voorbeeldgrader leest invoer van standard input in dit format regel : regel : De voorbeeldgrader produceert drie soorten uitvoer Allereerst schrijft de voorbeeldgrader jouw antwoord weg naar een bestand outtxt met het volgende format regel : regel ( ): C[i] regel ( ): X[j - 1] Y[j - 1] Ten tweede simuleert de voorbeeldgrader de bewegingen van de bal Hij voert de opeenvolgende serienummers van de apparaten in een bestand logtxt Tenslotte geeft de voorbeeldgrader de evaluatie van jouw antwoord weer op standaard uitvoer Wordt je programma beoordeeld als Accepted, dan voert de voorbeeldgrader uit in het volgende format: Accepted: S P en Wordt je programma beoordeeld als Wrong Answer, dan is de uitvoer Wrong Answer: MSG MSG kan het volgende betekenen: answered not exactly once : De procedure answer is niet precies eenmaal aangeroepen wrong array length : De lengte van C is niet gelijk aan, of de lengtes van X en Y verschillen over 400000 switches : is groter dan wrong serial number : Er is een element van C, X, of Y dat kleiner is dan of groter dan over 20000000 inversions : De bal keert niet in de oorsprong terug voordat er keer een schakelaar van toestand is gewijzigd state 'Y' : Er staat minstens een schakelaar in toestand 'Y' als de bal voor het eerst in de oorsprong terugkeert wrong motion : De triggers die voor beweging zorgen komen niet overeen met de rij Let op: het kan zijn dat de voorbeeldgrader geen bestanden outtxt en/of logtxt maakt als je programma beoordeeld wordt als Wrong Answer Doll (5 of 6)

Doll (6 of 6)