International Olympiad in Informatics 2013

Vergelijkbare documenten
International Olympiad in Informatics 2013

International Olympiad in Informatics 2013

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.

Mechanical Doll. doll

Toets Programmeren, 2YP05 op donderdag 13 november 2008, 09:00-12:00

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

becp 2018 Taak 1.2: Tolwegen (highways) Auteur: Victor Lecomte Maximale uitvoeringsduur: 2 s Geheugenlimiet: 512 MB

Small Basic Programmeren Text Console 2

Presentaties: presenteer jezelf met PowerPoint

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep.

Hoe lever je aangetekend buitenland aan?

Examen Datastructuren en Algoritmen II

POD1 - Hoofdstuk 1: Inleiding

4EE11 Project Programmeren voor W. College 2, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e

Eindtoets. Opgaven. 1 Gegeven is het domeinmodel van figuur 1. Domeinmodel voor betalingen. Eindtoets I N T R O D U C T I E.

Bouw je droomhuis met Sketchup. CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie.

Bestanden bewaren met SkyDrive

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

Praktijkinstructie Dataverwerking 1 (CSE02.1/CREBO:50236)

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

oefening JavaScript - antwoorden

Handleiding toevoegen objecten plexatutrecht.nl

Examen Datastructuren en Algoritmen II

Functies. Huub de Beer. Eindhoven, 4 juni 2011

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

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

HANDLEIDING Live Movie Maker

Ziekte dagen en uren viewer

Handleiding toevoegen objecten plexatutrecht.nl

1. Database met datum/posities van bliksemontladingen van het KNMI.

Een typisch programma in C en C++ bestaat uit een aantal onderdelen:

Een korte samenvatting van enkele FORTRAN opdrachten

Examen Algoritmen en Datastructuren III

Datastructuren Werkcollege Intro

Wij menen het! Vertel de leerlingen dat je een brief hebt gekregen van een aantal onderzoekers die hulp nodig hebben.

WISKUNDE-ESTAFETTE Minuten voor 20 opgaven. Het totaal aantal te behalen punten is 500

Leerpaden maken. 1. Account en wachtwoord. 2. Maak een nieuw leerpad aan. 3. Inhoud aan een leerpad toe voegen. 4. Structuur aanbrengen op een pagina.

2.07. MASSAWIJZIGING : ALGEMEEN

OPDRACHTKAART. Thema: Prepress. InDesign 15. Pagina s PP Voorkennis: De vorige praktijkopdrachten afgerond.

Report generator Gegevens zoeken en kolommen selecteren Rapporten opslaan en beheren... 6

N3 LINEAIRE INTERPOLATIE

Luchthaven Simulatie. 1 Samenvatting. 2 Context

Meten en experimenteren

Technische Documentatie TaxatieVoertuig A2SP 2015

Probeer de vragen bij Verkennen zo goed mogelijk te beantwoorden.

DE IDEALE MARKETINGMIX IS ER NIET! DE SUCCESVOLLE MARKETING-MIX BEGINT BIJ JEZELF! HOE MAAK IK EEN GOED MARKETINGPLAN VOOR VASTGOEDPROPOSITIES

Opdracht ICT-trainer Reeks 2 Computergebruik. 2A Start en info

Dynamisch Programmeren. Het Rugzakprobleem

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

13. Motion : Bewegingen.

Windows Movie Maker opstarten: Start het programma op via Start > Alle programma s > Applicaties > Audio en video > Movie Maker.

Handleiding IDEP: Inlezen gegevens; meerdere stromen/periodes/aangevers

Je kunt ESS op twee manieren bereiken: via een webpagina en via en app op je smartphone.

filosofie havo 2018-I

4 Vergelijkingen. Verkennen. Theorie en Voorbeelden

Les in Flash nr. 2: Jouw eerste Flash film

Tips Voor het spelen met een kat

Examen Algoritmen en Datastructuren III

... Praktijk Adobe Premiére. Thema: AudioVisueel Promotiefilm

Werk met de applet. Bedenk steeds welke parameter a, b, c en/of d je moet aanpassen. Experimenteer tot je de regelmaat kunt formuleren!

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

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Metro Simulatie. 1 Samenvatting. 2 Context

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Meten en experimenteren

Jouw medische gegevens beschikbaar via het Landelijk Schakelpunt (LSP) Alleen als jij dat goed vindt

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

Uw TEKSTEDITOR - alle iconen op een rij

Handleiding voor implementatie WEBSERVICE GEOCODEREN

opgaven formele structuren deterministische eindige automaten

Examen VMBO-KB versie rood

Tiende college algoritmiek. 26 april Gretige algoritmen

9 Meer over datatypen

Inhoudsopgave Welkom bij VHV Kompas 2 Hoe werkt VHV Kompas? 2 Uw accounts 4 Uw VHV Kompas account beheren 5

Ben je uitgekeken op je badkamer? Wil je hem eens flink aanpakken? Maar vind je het lastig om een nieuwe indeling te maken voor de ruimte?

Budgetteren vmbo12. CC Naamsvermelding-GelijkDelen 4.0 Internationale licentie.

Examen Datastructuren en Algoritmen II

Wat weet jij over wonen? Dat ga je met je groepje opschrijven in een woordspin.

Les 1 : de basis van PowerPoint

Eenparige rechtlijnige beweging

Javascript oefenblad 1

Wortel en Machten vmbo-kgt34. CC Naamsvermelding 3.0 Nederland licentie.

Programmeren in C++ Efficiënte zoekfunctie in een boek

Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad

Oefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer:

Knippen en Plakken. Het verschil tussen knippen en kopiëren.

WELKOM BIJ BOMBERBOT! LES 2: SEQUENTIES I LES 2: SEQUENTIES I WAAR GAAT DEZE LES OVER? INTRODUCTIE

Examen VMBO-GL versie rood

SPECIALE VERSIE VOOR LEERKRACHTEN. Inhoud van de website invoeren met de ContentPublisher. 1. Inloggen. 2. Overzicht

Veelgestelde vragen. Studentenpas

Handleiding. Berichten maken in WordPress. juni 2013

ROBOMIND EV3 EXPORT HANDLEIDING VOOR WINDOWS COMPUTERS

Opdracht 3: Baanintegratie: Planeet in een dubbelstersysteem

Genetische algoritmen in Java met JGAP

AVONTURENPAKKET DE UITVINDERS EN DE BEESTENBENDE

Stappenplan voor een rookvrije speeltuin

App2Shop Product Import XML voorbeeld User Guide V1.0

Het handboek van Minuet. Sandro S. Andrade Vertaler/Nalezer: Freek de Kruijf

Transcriptie:

International Olympiad in Informatics 2013 6-13 July 2013 Brisbane, Australia Day 2 tasks robots Nederlands (België) 1.0 Al het speelgoed van Marita's kleine broertje ligt op de vloer! Gelukkig heeft Marita speciale robots gebouwd om het speelgoed op te ruimen. Ze heeft jouw hulp nodig om te bepalen welke robot welk speelgoed moet oppakken. Er zijn T speeltjes die elk een gewicht (integer) W[i] en omvang (integer) S[i] hebben. Er zijn twee soorten robots: zwak en klein. Er zijn A zwakke robots. Elke zwakke robot heeft een gewichtslimiet van X[i], en kan één speeltje tillen zolang het gewicht ervan strikt kleiner is dan X[i]. De grootte van het speeltje maakt niet uit. Er zijn B kleine robots. Elke kleine robot heeft een omvangslimiet van Y[i], en kan één speeltje tillen zolang de omvang ervan strikt kleiner is dan Y[i]. Het gewicht van het speeltje maakt niet uit. Het kost een robot 1 minuut om een speeltje op te ruimen. Verschillende robots kunnen tegelijkertijd een verschillend speeltje opruimen. Bepaal of het mogelijk is voor de robots om alle speelgoed op te ruimen, en zo ja, hoeveel tijd ze hier minimaal voor nodig hebben.

Voorbeelden Een eerste voorbeeld: Stel dat er A = 3 zwakke robots zijn met gewichtslimieten: X = [6, 2, 9]. Stel dat er B = 2 kleine robots zijn met omvangslimieten: Y = [4, 7] zijn, en dat er verder T = 10 speeltjes zijn. Speeltje nr 0 1 2 3 4 5 6 7 8 9 Gewicht 4 8 2 7 1 5 3 8 7 10 Omvang 6 5 3 9 8 1 3 7 6 5 Het kost minimaal drie minuten om alle speeltjes op te ruimen: Eerste minuut Tweede minuut Derde minuut Zwakke robot 0 Zwakke robot 1 Zwakke robot 2 Kleine robot 0 Kleine robot 1 Speeltje 0 Speeltje 4 Speeltje 1 Speeltje 6 Speeltje 2 Speeltje 5 Speeltje 3 Speeltje 8 Speeltje 7 Speeltje 9 Een tweede voorbeeld: Stel dat er A = 2 zwakke robots zijn met gewichtslimieten: X = [2, 5]. Stel dat er B = 1 kleine robot is met omvangslimiet Y = [2], en dat er verder T = 3 speeltjes zijn. Speeltje nr 0 1 2 Gewicht 3 5 2 Omvang 1 3 2 Geen enkele robot kan het speeltje met gewicht 5 en omvang 3 oppakken. Het is dus onmogelijk voor de robots om alle speeltjes op te ruimen.

Implementatie Je moet een bestand indienen dat de functie putaway() als volgt implementeert: Jouw Functie: putaway() C/C++ Pascal int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]); function putaway(a, B, T : LongInt; var X, Y, W, S : array of LongInt) : LongInt; Beschrijving Deze functie moet het kleinste aantal minuten bepalen waarin de robots alle speeltjes kunnen opruimen. Als dit niet mogelijk is, geef dan -1 terug als resultaat. Parameters A : Het aantal zwakke robots. B : Het aantal kleine robots. T : Het aantal speeltjes. X : Een array van lengte A die integers bevat die voor elke zwakke robot de gewichtslimiet aangeven. Y : Een array van lengte B die integers bevat die voor elke kleine robot de omvangslimiet aangeven. W : Een array van lengte T die integers bevat die het gewicht van elk speeltje aangeven. S : Een array van lengte T die integers bevat die de omvang van elke speeltje aangeven. Resultaat: Het kleinste aantal minuten dat nodig is om alle speeltjes op te ruimen, of -1 als dit niet mogelijk is.

Voorbeeldscenario Het volgende scenario beschrijft het eerste bovenstaande voorbeeld: Parameter Waarde A 3 B 2 T 10 X [6, 2, 9] Y [4, 7] W [4, 8, 2, 7, 1, 5, 3, 8, 7, 10] S [6, 5, 3, 9, 8, 1, 3, 7, 6, 5] Resultaat 3 Het volgende scenario beschrijft het tweede bovenstaande voorbeeld: Parameter Waarde A 2 B 1 T 3 X [2, 5] Y [2] W [3, 5, 2] S [1, 3, 2] Resultaat -1 Beperkingen Tijdslimiet: 3 seconden Geheugenlimiet: 64 MiB 1 T 1.000.000 0 A, B 50.000 en 1 A + B 1 X[i], Y[i], W[i], S[i] 2.000.000.000

Subtaken Subtaak Punten Aanvullende beperkingen 1 14 T = 2 and A + B = 2 (exact twee speeltjes en twee robots) 2 14 B = 0 (alle robots zijn zwak) 3 25 T 50 en A + B 50 4 37 T 10,000 en A + B 1,000 5 10 (Geen beperkingen) Experimenteren De voorbeeldgrader op jouw computer leest invoer uit het bestand robots.in, dat in het volgende formaat is opgesteld: regel 1: A B T regel 2: X[0] X[A-1] regel 3: Y[0] Y[B-1] de volgende T regels: W[i] S[i] Het eerste bovenstaande voorbeeld is dus in het volgende formaat opgesteld: 3 2 10 6 2 9 4 7 4 6 8 5 2 3 7 9 1 8 5 1 3 3 8 7 7 6 10 5 Als A = 0 of B = 0 dan moet de bijhorende regel (regel 2 of regel 3) leeg zijn.

Taalspecifieke opmerkingen C/C++ Pascal Je moet #include "robots.h" gebruiken. Je moet unit Robots definiëren. Alle arrays zijn genummerd vanaf 0 (niet 1 ). Bekijk de modeloplossing op je computer als voorbeeld.