Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

Like dokumenter
Slope-Intercept Formula

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

UNIVERSITETET I OSLO

1 Øvelse Dynamic Mercy 1 Exercise Dynamic Mercy

UNIVERSITETET I OSLO

Elektronisk innlevering/electronic solution for submission:

Neural Network. Sensors Sorter

Medisinsk statistikk, KLH3004 Dmf, NTNU Styrke- og utvalgsberegning

Endringer i neste revisjon av EHF / Changes in the next revision of EHF 1. October 2015

Level Set methods. Sandra Allaart-Bruin. Level Set methods p.1/24

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

of color printers at university); helps in learning GIS.

REMOVE CONTENTS FROM BOX. VERIFY ALL PARTS ARE PRESENT READ INSTRUCTIONS CAREFULLY BEFORE STARTING INSTALLATION

1 User guide for the uioletter package

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

The Norwegian Citizen Panel, Accepted Proposals

Dynamic Programming Longest Common Subsequence. Class 27

SVM and Complementary Slackness

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

EKSAMEN I FAG TDT MMI Lørdag 11. august 2012 Tid: kl

IN2010: Algoritmer og Datastrukturer Series 2

Graphs similar to strongly regular graphs

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

IN 211 Programmeringsspråk. Dokumentasjon. Hvorfor skrive dokumentasjon? For hvem? «Lesbar programmering» Ark 1 av 11

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

TMA4329 Intro til vitensk. beregn. V2017

Løsningsforslag 2017 eksamen

UNIVERSITETET I OSLO

Databases 1. Extended Relational Algebra

AvtaleGiro beskrivelse av feilmeldinger for oppdrag og transaksjoner kvitteringsliste L00202 levert i CSV fil

HONSEL process monitoring

FBWF under Windows 7 Standard

Information search for the research protocol in IIC/IID

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

SPONSORSHIP OPPORTUNITIES

Kartleggingsskjema / Survey

0:7 0:2 0:1 0:3 0:5 0:2 0:1 0:4 0:5 P = 0:56 0:28 0:16 0:38 0:39 0:23

Trigonometric Substitution

melting ECMI Modelling week 2008 Modelling and simulation of ice/snow melting Sabrina Wandl - University of Linz Tuomo Mäki-Marttunen - Tampere UT

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

EMPIC MEDICAL. Etterutdanningskurs flyleger 21. april Lars (Lasse) Holm Prosjektleder Telefon: E-post:

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM

HOW TO GET TO TØI By subway (T-bane) By tram By bus By car Fra flyplassen

Gradient. Masahiro Yamamoto. last update on February 29, 2012 (1) (2) (3) (4) (5)

TILLEGGSSPØRSMÅL BILLETT- OG ADMINISTRASJONSSYSTEM KINONOR AS COMPLEMENTARY QUESTIONS POINT OF SALE SOFTWARE PACKAGE KINONOR AS

Start MATLAB. Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5

TEKSTER PH.D.-KANDIDATER FREMDRIFTSRAPPORTERING

EXFAC03-FIL Exfac, filosofivariant HØST 2007 Torsdag 13. desember kl ( 4 timer)

Exercise 1: Phase Splitter DC Operation

Evaluating Call-by-need on the Control Stack

Løsningsforslag for oppgavene i operativsystemer og C, uke 38 ( )

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2

Call function of two parameters

Eksamen ENG1002/1003 Engelsk fellesfag Elevar og privatistar/elever og privatister. Nynorsk/Bokmål

EKSAMENSOPPGAVE I BI2034 Samfunnsøkologi EXAMINATION IN: BI Community ecology

Speed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F.

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

P(ersonal) C(omputer) Gunnar Misund. Høgskolen i Østfold. Avdeling for Informasjonsteknologi

Maple Basics. K. Cooper

Christmas in the round A Holiday Prism for Band. Preview Only


Prising av ODINs egenforvaltede aksjefond 2013

Uke 5. Magnus Li INF /

AvtaleGiro beskrivelse av feilmeldinger for oppdrag og transaksjoner for KID bytte kvitteringsliste L02625 levert i CSV format

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

Skjema for spørsmål og svar angående: Skuddbeskyttende skjold Saksnr TED: 2014/S

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

FYSMEK1110 Eksamensverksted 23. Mai :15-18:00 Oppgave 1 (maks. 45 minutt)

TEKSTER PH.D.-VEILEDERE FREMDRIFTSRAPPORTERING DISTRIBUSJONS-E-POST TIL ALLE AKTUELLE VEILEDERE:

TFY4170 Fysikk 2 Justin Wells

TDT4117 Information Retrieval - Autumn 2014

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

Programmeringsspråket C Del 2. Hans Petter Taugbøl Kragset

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

(see table on right) 1,500,001 to 3,000, ,001pa to 250,000pa

Stationary Phase Monte Carlo Methods

Brukerdokumentasjon Brukerdokumentasjon

LISTE OVER TILLATTE HJELPEMIDLER EKSAMEN I NOVEMBER OG DESEMBER 2014

SERVICE BULLETINE

INFO TAXI REMOTE. Taxi Management CONTROL SYSTEM (TMCS)

Søker du ikke om nytt frikort/skattekort, vil du bli trukket 15 prosent av utbetalingen av pensjon eller uføreytelse fra og med januar 2016.

UNIVERSITETET I OSLO

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6.

Instructions for the base (B)-treatment and the elicitation (E)-treatment of the experiment

Du kan bruke det vedlagte skjemaet Egenerklæring skattemessig bosted 2012 når du søker om frikort.

Monteringsanvisning Assembly Instructions Monteringsanvisning. Søve Lekemiljø AS 3830 Ulefoss - Norway Tlf:

Besvar tre 3 av følgende fire 4 oppgaver.

Justeringsanvisninger finnes på de to siste sidene.

Transkript:

6-13 July 2013 Brisbane, Australia Norwegian 1.0 Brisbane har blitt tatt over av store, muterte wombater, og du må lede folket i sikkerhet. Veiene i Brisbane danner et stort rutenett. Det finnes R horisontale veier, som går øst-vest og er nummerert 0,, (R - 1) fra nord til sør, og C vertikale veier, som går nord-syd og er nummerert 0,, (C - 1) fra vest til øst, som vist på bildet nedenfor. Wombatene har invadert fra nord, og folket flykter mot sør. Folk kan løpe langs de horisontale veiene i begge retninger, men langs vertikale veier vil de mot sikkerheten. Veikrysset mellom den horisontale veien P og den vertikale veien Q betegnes (P, Q). Hvert veisegment mellom to kryss inneholder et antall wombater, og disse antallene kan endre seg over tid. Oppgaven din er å lede hver person fra et gitt veikryss i nord (på horisontal vei nummer 0 ) til et gitt veikryss i syd (på horisontal vei R - 1 ) langs en rute som inneholder så få wombater som mulig. Til å begynne med vil du få oppgitt størrelsen på rutenettet og antallet wombater på hvert veisegment. Etter dette vil du bli gitt en serie med E hendelser. Hver hendelse vil en av følgende: - En, som forandrer antallet wombater på et veisegment - En, hvor en person ankommer i et gitt veikryss på horisontal vei nummer 0, og du må finne en rute til et gitt kryss på horisontal vei nummer R - 1 som passerer så få wombater som mulig Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor. 1

Bildet ovenfor viser et initielt kart med R = 3 horisontale veier og C = 4 vertikale veier, med antall wombater markert på hvert segment. Betrakt den følgende serien av hendelser: En person ankomer krysset A = (0, 2) og ønsker å flykte til krysset B = (2, 1). Det minste antallet wombater hun kan passere er 2, slik den stiplede streken indikerer. En annen person ankommer krysset X = (0, 3) og ønsker å flykte til krysset Y = (2, 3). Det minste antallet wombater hun kan passere er 7, igjen indikert med en stiplet strek. To endringshendelser inntreffer: antallet wombater i toppsegmentet av vertikal vei nummer 0 endres til 5, og antallet wombater i midtsegmentet av horisontal vei nummer 1 endrer seg til 6. Se de innsirklede tallene i bildet under. En tredje person ankommer krysset A = (0, 2) og ønsker å flykte til krysset B = (2, 1). Det minste antallet wombater hun kan passere er nå 5, som indikert av den nye, stiplede linjen. 2

You should submit a file implementing the procedures init(), changeh() and changev() and the function escape(), as follows: 3

init() C/C++ void init(int R, int C, int H[5000][200], int V[5000][200]); type wombatsarraytype = array[0..4999, 0..199] of LongInt; procedure init(r, C : LongInt; var H, V : wombatsarraytype); Description This procedure gives you the initial layout of the map, and allows you to initialise any global variables and data structures. It will be called only once, before any calls to changeh(), changev() or escape(). Parameters R : The number of horizontal roads. C : The number of vertical roads. H : A two-dimensional array of size R (C - 1), where H[P][Q] gives the number of wombats on the segment of horizontal road between intersections (P, Q) and (P, Q + 1). V : A two-dimensional array of size (R - 1) C, where V[P][Q] gives the number of wombats on the segment of vertical road between intersections (P, Q) and (P + 1, Q). 4

changeh() C/C++ void changeh(int P, int Q, int W); procedure changeh(p, Q, W: LongInt); Description This procedure will be called when the number of wombats changes on the horizontal road segment between intersections (P, Q) and (P, Q + 1). Parameters P : Indicates which horizontal road is affected ( 0 P R - 1 ). Q : Indicates between which two vertical roads the segment lies ( 0 Q C - 2 ). W : The new number of wombats on this road segment ( 0 W 1,000 ). 5

changev() C/C++ void changev(int P, int Q, int W); procedure changev(p, Q, W: LongInt); Description This procedure will be called when the number of wombats changes on the vertical road segment between intersections (P, Q) and (P + 1, Q). Parameters P : Indicates between which two horizontal roads the segment lies ( 0 P R - 2 ). Q : Indicates which vertical road is affected ( 0 Q C - 1 ). W : The new number of wombats on this road segment ( 0 W 1,000 ). escape() C/C++ int escape(int V1, int V2); function escape(v1, V2 : LongInt) : LongInt; Description This function should calculate the fewest possible wombats a person must pass when travelling from intersection (0, V1) to (R-1, V2). Parameters V1 : Indicates where the person begins on horizontal row 0 ( 0 V1 C-1 ). V2 : Indicates where the person ends on horizontal row R-1 ( 0 V2 C-1 ). : The smallest number of wombats the person must pass. 6

The following session describes the example above: init(3, 4, [[0,2,5], [7,1,1], [0,4,0]], [[0,0,0,2], [0,3,4,7]]) escape(2,1) 2 escape(3,3) 7 changev(0,0,5) changeh(1,1,6) escape(2,1) 5 Time limit: 15 seconds Memory limit: 256 MiB 2 R 5,000 1 C 200 At most 500 changes (calls to either changeh() or changev() ) At most 200,000 calls to escape() At most 1,000 wombats on any segment at any time 7

1 9 C = 1 2 12 R,C 20, and there will be no calls to changeh() or changev() 3 16 R,C 100, and there will be at most 100 calls to escape() 4 18 C = 2 5 21 C 100 6 24 The sample grader on your computer will read input from the file wombats.in, which must be in the following format: line 1: R C line 2: H[0][0] H[0][C-2] line (R + 1) : H[R-1][0] H[R-1][C-2] line (R + 2) : V[0][0] V[0][C-1] line (2R) : V[R-2][0] V[R-2][C-1] next line: E next E lines: one event per line, in the order in which events occur If C = 1, the empty lines containing the number of wombats on horizontal roads (lines 2 through R + 1 ) are not necessary. The line for each event must be in one of the following formats: to indicate changeh(p, Q, W) : 1 P Q W to indicate changev(p, Q, W) : 2 P Q W to indicate escape(v1, V2) : 3 V1 V2 8

For instance, the example above should be provided in the following format: 3 4 0 2 5 7 1 1 0 4 0 0 0 0 2 0 3 4 7 5 3 2 1 3 3 3 2 0 0 5 1 1 1 6 3 2 1 C/C++ You must #include "wombats.h". You must define the unit Wombats. All arrays are numbered beginning at 0 (not 1 ). See the solution templates on your machine for examples. 9