Opgave: FIL File Paths



Relaterede dokumenter
Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB

Dansk Datalogi Dyst 2015 DDD Runde 2

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Installation af ETF s cloudløsning for Privatpraktiserende ergoterapeuter

Opret og godkend betalinger i mapper

fotografisk kommunikation

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Kom godt igang med Inventar registrering

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Mini brugermanual CMD 5.1

Modul 8: Clouds (Lagring af filer)

AFAs konkurrencebetingelser

Undersøgelse om produktsøgning

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

grafisk design Professionsbacheloruddannelsen i Visuel Kommunikation Studieretning: Grafisk Design

Fanebladet Relateret indhold

Kom i gang-opgaver til differentialregning

Sikkerhedskopiering og gendannelse Brugervejledning

Website sikkerhed SQL Injections og mere...

INDHOLDSFORTEGNELSE INTRODUKTION SØGERESULTAT

Manual og Hjælp Skoletasken 2

P2-projektforslag Kombinatorik: grafteori og optimering.

Et medarbejdergode, der for én gangs skyld kommer alle medarbejdere til gode

18 Multivejstræer og B-træer.

Kom godt i gang med OneDrive

Godt i gang. Jeg har fået min pc med udstyr udleveret, og jeg har skrevet under på, at jeg vil passe godt på udstyret

Side 1 af 17. Læs hele vejledningen / manualen igennem inden du installere og bruger programmet

Google Chrome side 1 af13

SDU Assignment - undervisere

Compact Trappelift. Brugsanvisning. Juni 04

Kort introduktion til e-boks

DM01 DM Obl. Afl. Jacob Christiansen, , D12, Elias 18/ Side 1 af 11

Studiestart med itslearning. for studerende ved radiografuddannelsen, UCN

GALLERIET Mikro Værkstedet A/S

Studieretningsprojektet i 3.g 2007

Udsend boligtilbud til boligsøgende på ventelisten

DGI TRÆNERGUIDEN BALANCE & MOTORIK DGI TRÆNERGUIDEN BALANCE & MOTORIK

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

PATIENTOPLEVETKVALITET 2013

DANISH ENTREPRENEURSHIP AWARD

PATIENTOPLEVETKVALITET 2013

Han overfører altså dele fra en brugt ytring, og bruger dem i sine egne sætningskonstruktioner dog ikke grammatisk korrekt.

Sitecore - basisvejledning Version 2. September 2010

VELKOMMEN TIL PHOTO STORY FOR WINDOWS

Installation af en virtuel maskine

Dette dokument beskriver den nye grænseflade med udgangspunkt i den nye MS Dynamics NAV 5.0 SP1 klient.

Skrivebordet Windows 10

Paradokser og Opgaver

Manual for installering og brug af Ad-aware SE Personal Edition version 1.05 af Anette B. Overgaard. Maj 2005

Dansk Ride Forbund Stævnesystem 2 Installationsvejledning

UMV Sådan! Undervisningsmiljøvurdering for Elise Smiths Skole Dato: Oktober Denne undervisningsmiljøvurdering, UMV, er gyldig frem til: 2014

PATIENTOPLEVET KVALITET 2013

IT kriminelle bruger mange metoder: Virus små programmer der kan ødelægge computerens styresystem, data og programmer Crimeware som regel trojanske

Vis udskrift: "Leder-APV til etaperne 2,3,4"

Larsen Handel Brugervejledning AutoManager Side 1 af 28. Brugervejledning AutoManager

Bilag 6 c rapporten Idræt i udsatte boligområder

Center for Selvstændige Boformer. - Undersøgelse af beboernes brug af digitale medier foråret 2014

Vejledning for brugere af dialogbaseret dansk

Brug Photo Story 3 en let introduktion

Europa Cup - rangerings- og seedningssystem

Lommeguide til online-afspilleren "PLEXTALK Linio Pocket"

Spil om LEDELSE. Rigtig god fornøjelse!

JYDSK HÅNDBOLD FORBUND KREDS 5 TRÆNER/LEDER FOLDER FOR SÆSONEN

Har du ikke fået oprettet et afdelings-id og PIN-kode til udskrivning på husets printere bedes du tage kontakt til receptionen først:

Bilag. Innovationsforslag - Resultater af workshoppen den 11. juni Lavet i forbindelsen med FlexEl projektet Kontakt: Innovationsmanual

Installation og opsætning af Outlook klient til Dynamics CRM

Vær ærlig overfor dig selv nu. Det her er din chance for at ændre livets tilstand.

SKI's ordbog. Forklaring. Ord

DDD Runde 2, 2015 Facitliste

Grundlæggende: Dokumentboks virker i alle Browsere (internetprogrammer). Dokumentboks virker ikke på tablets herunder Ipads eller mobiltelefon.

Formelsamling Matematik C

Matematiske metoder - Opgaver

Bestyrelsesadgang (Min Side)

Det mener FOAs medlemmer om arbejde i weekender og på helligdage

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

I hvilken grad har du under ansættelsen af den unge med særlige behov følt dig kvalificeret til opgaven gennem kontakten til Havredal gl. Skole?

1. Spørgsmål til UDBUDSBETINGELSER + UDBUDSBILAG 1-3

23. maj 2011 Version 3.0 Sådan byder du ind på en SKI-rammeaftale via udbudssystemet ETHICS

Guide til digital børnetilmelding

Årsrapport Standardiseringsgruppen

Matematik og magi. eller Næste stop Las Vegas. 14 Anvendt matematik. Rasmus Sylvester Bryder

BONUSMATERIALE TIL INSTITUTIONER Hvem er du? Spil VÆR LYDHØR, OPMÆRKSOM OG EMPATISK

Side 1 af 7

Novell Vibe 4.0. Marts Hurtig start. Start af Novell Vibe. Lære Novell Vibe-grænsefladen og funktionerne at kende

Politik for Inklusion og Medborgerskab

Kom godt i gang med DLBR Produktionsbudget

Håndskanner & Skannerpen Tjekliste

Hvis du altid vil starte med fuldskærm, klik på start.htm i stedet for index.htm

Stress Stress i hverdagen og på arbejdspladsen Den vigtigste kilde til stress Køn og stress Sektor og stress...

QUICKGUIDE TIL XMEDIA

KUNDEVEJLEDNING APRIL 2014

Forstørrelses og skærmforbedringssoftware for lindring af øjebelastning. Hurtig Start Guide

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

Quick Start til Novell Filr 2.0 Desktop-programmet til Mac

Redigering i Windows Movie Maker

I Windows fil struktur er der følgende ting Drev, Mapper, Filer og Genveje.

3. søndag efter påske I. Sct. Pauls kirke 21. april 2013 kl Salmer: 234/434/219/654//242/439/230/375 Uddelingssalme: se ovenfor: 230

Instruktion. Total genstart af HTC TC II

AOF Vejle-Fredericia Annemette Søgaard Hansen

Transkript:

Opgave: FIL File Paths danish BOI 2015, dag 2. Tilgængelig hukommelse: 256 MB. 1.05.2015 Byteasar kan godt lide at leve på kanten. Han løber med sakse, indsender besvarelser til konkurrenceproblemer uden at teste dem på eksempel-data, og vil have at alle filer i sit filsystem har filstier der har præcist samme længde som operativsystemet max tillader (for eksempel er dette 4095 tegn på Linux). Når Byteasar arbejder på en anden persons computer sker det dog, at ikke alle filer på computeren opfylder dette kriterium. I dette tilfælder prøver han at introducere symbolske links (symlinks), og bruger disse til at lave nye filstier. Du skal løse følgende problem: For hver fil i filsystemet skal du afgøre om det er muligt at introducere et enkelt symbolsk link (af forudbestemt længde) således at man kan referere til filen via en filsti af længde præcis k. Hvis en fil med navn file er indeholdt i en kæde af mapper dir1, dir2,..., dirj, så er den absolutte filsti for filen /dir1/dir2/.../dirj/file. Rodmappen har stien / og enhver fil der er indeholdt direkte i rodmappen har absolut filsti på formen /file. Et symbolsk link er en navngiven genvej til en mappe, der kan placeres i en hvilken som helst mappe i filsystemet. I denne opgave kan man ikke have symbolske links til filer. Med et symbolsk links kan vi lave alternative filstier. Hvis vi f.eks. introducerede et symbolsk link til / med navnet hello i mappen /, så ville /dir/file, /hello/dir/file og /hello/hello/dir/file alle referere til den samme fil, men have forskellig filsti længde. For et andet eksempel kunne vi lave et symbolsk link til / med navnet hi i mappen /dir, da kunne vi få filstierne: /dir/file, /dir/hi/dir/file og /dir/hi/dir/hi/dir/file, der alle refererede til samme fil. Bemærk at det er fuldt ud tilladt for et symbolsk link at pege opad, nedad eller til siden i filsystemhierarkiet, og endda tilbage til den folder, som linket er placeret i. I denne opgave er./ og../ og // sti-komponenterne ikke tilladt i filstier. Input Den første linje af input indeholder tre positive heltal: n (antallet af mapper udover rodmappen), m (antallet af filer) og k (den ønskede filsti længde). Rodmappen har nummer 0, og alle andre mapper er nummereret fra 1 til og med n. Filer er nummereret fra 1 til og med m. Den anden linje af input indeholder længden, s, af navnet på det introducerede symbolske link. (vi er ligeglad med selve navnet og antager at det ikke kolliderer med noget andet på filsystemet). Derefter følger n linjer der beskriver mapperne i filsystemet (udover rodmappen). Den ite af disse linjer beskriver mappe nummer i og består af to heltal: p i og l i. De specificerer at mappe nummer i har et navn af længde l i og at dens forældremappe (mappen der direkte indeholder den ite mappe) har nummer p i. Det er garanteret at p i < i. Til sidst følger m linjer der beskriver filerne i filsystemet. Den jte af disse linjer beskriver fil nummer j og består af to heltal: p j og l j. De angiver, at fil nummer j har et navn af længde l j og er direkte indeholdt i mappen p j. Alle filer og mapper har navne af positiv længde, og deres absolutte filstier har længde højest k. Output Dit program skal skrive m linjer, en for hver fil. v. 3.1 File Paths 1/2

Den jte linje skal indeholde et enkelt ord, eller NO, der er svaret på følgende spørgsmål: Er det muligt, ved at introducere et symbolsk link af længde s, at lave en filsti af længde præcist k, der refererer til fil nummer j. Eksempler 2 4 22 2 0 1 1 5 2 13 2 10 1 4 0 7 NO Forklaring af eksempler: Lad os kalde det symbolske link for LL, mappenavnene for henholdsvis a og bbbbb, og filnavnene for henholdsvis ccccccccccccc, dddddddddd, eeee og fffffff. Rodmappen indeholder mappen a og filen fffffff; mappen a indeholder mappen bbbbb og filen eeee; og endeligt indeholder mappen bbbbb filerne ccccccccccccc og dddddddddd. / -- a -- bbbbb -- ccccccccccccc +-- dddddddddd +-- eeee +-- fffffff For den første fil har den absolutte filsti, /a/bbbbb/ccccccccccccc, allerede den ønskede længde, så vi behøver ikke engang noget symbolsk link. For den anden fil kan vi introducere det symbolske link /a/ll -> /a og referere til /a/ll/bbbbb/dddddddddd. For den tredje fil kan vi introducere det symbolske link /a/ll -> / og referere til /a/ll/a/ll/a/ll/a/eeee. For den fjerde fil kan vi ikke opnå målet uanset hvor vi introducerer det symbolske link. Bedømmelse I alle delopgaver er 1 k, s 1 000 000. Delopgave Betingelser Point 1 n, m 500 33 2 n, m 3000 og for hver fil skal det symbolske link højst gennemløbes én gang 33 3 n, m 3000 34 v. 3.1 File Paths 2/2

Opgave: HAC Hacker danish BOI 2015, dag 2. Tilgængelig hukommelse: 256 MB. 1.05.2015 Hackeren, Byteasar, har kvalificeret sig til dette års IHO, den Internationale Hacking Olympiade. En af opgaverne til olympiaden involverer at konkurrere mod en system operatør. Der er n computere nummereret fra 1 til n forbundet i en ring, dvs. computer i og computer i + 1 er forbundet for i = 1,..., n 1, og derudover er computer n forbundet med computer 1. Konkurrencen er et spil mellem hackeren og system operatøren: Byteasar trækker først. Derefter trækker operatøren og Byteasar på skift. I Byteasars første træk vælger han en computer og hacker den (for eksempel ved at udnytte et sikkerhedshul i operativsystemet). I operatørens første træk vælger han en ikke-hacket computer og beskytter den (for eksempel ved at installere den seneste sikkerhedsopdatering). I resten af sine træk har Byteasar to muligheder: Enten (a) ikke at gøre noget; eller (b) at vælge en computer, der ikke er beskyttet eller hacket, men forbundet direkte til en hacket computer, og hacke den. I resten af sine træk har operatøren to muligheder: Enten (a) ikke at gøre noget; eller (b) at vælge en computer, der ikke er hacket eller beskyttet, men forbundet direkte til en beskyttet computer, og beskytte den. Spillet slutter når ingen af spillerne har gjort noget i deres sidste træk. Til at starte med er ingen af computerne hverken hackede eller beskyttede. Computer i har data af værdi v i, og Byteasar får v i point, hvis han hacker den. Byteasar er en ret god hacker, men han aner intet om algoritmer. Derfor beder han dig om at skrive et program, der beregner hvor mange point han højst kan få, under antagelse af at operatøren spiller optimalt. Input Den første linje indeholder et positivt heltal n (n 2), antallet af computere. Den anden linje indeholder en sekvens af n heltal v 1, v 2,..., v n (1 v i 2000), hvor v i er værdien af de data, der er på computer i. Output Dit ouput skal bestå af en enkel linje, der indeholderet enkelt heltal: Antallet af point Byteasar maksimalt kan få, hvis operatøren spiller optimalt. Eksempler 4 7 6 8 4 5 1 1 1 1 1 13 3 v. 3.2 Hacker 1/2

Forklaring af eksempler: I det første skal Byteasar hacke computer 2 til at starte med (og få 6 point). Derefter vil operatøren beskytte computer 3. I næste træk kan Byteasar hacke computer 1 (og få 7 point). Til sidst vil operatøren beskytte computer 4. Bedømmelse Delopgave Betingelser Point 1 n 300 20 2 n 5000 20 3 n 500 000, Det vil altid være optimalt for Byteasar at starte med at hacke 20 computer 1 4 n 500 000 40 v. 3.2 Hacker 2/2

Opgave: TUG Tug of War danish BOI 2015, dag 2. Tilgængelig hukommelse: 256 MB. 1.05.2015 Tovtrækning er en meget populær sport i Byteland. Reglerne er nemme: To hold trækker et reb i hver sin retning. Den årlige velgørenhedsbegivenhed for tovtrækning i Byteland er i gang, og masser af deltagere har meldt sig. Du er fairplay-kommissær og dit job er at dele deltagerne op i to hold, så kampen kan vare i lang tid. Da der i alt er 2n deltagere som har meldt sig, vil holdene hver bestå af n deltagere. Rebet har præcists n pladser på venstre side og n pladser på højre side. Tovtrækningseliten i Byteland er en kræsen flok: Hver deltager har præcist én plads på venstre side og én plads på højre side, som han kan bruge. Derudover kender du også styrken af hver deltager. Arrangørerne har spurgt dig om følgende: Givet et heltal k, er det muligt at lave to hold således at hvert hold har n deltagere, hver deltager bruger en af de to pladser han kan bruge (to deltagere kan ikke have samme plads), og summen af styrkerne for det ene hold er højest k fra summen af styrkerne for det andet? Input Den første linje af input indeholder to heltal: n (antallet af pladser på hver side af rebet) og k 20n (den maksimale forskel der er tilladt på styrkerne mellem de to hold). For enkelthed nummererer vi deltagerne fra 1 til 2n. Hver af de følgende 2n linjer beskriver en deltager: Den ite af disse linjer indeholder tre positive heltal l i, r i og s i (1 l i, r i n, 1 s i 20), der angiver at den ite deltager har styrke s i og kan bruge enten plads l i på venstre side eller r i på højre side. Output Du skal skrive netop en linje med teksten eller NO afhængigt af om det er muligt at lave to hold der opfylder kravene beskrevet ovenfor. Eksempler 4 1 1 1 1 2 1 2 2 2 8 1 2 2 3 3 5 3 3 2 4 4 1 4 4 2 v. 3 Tug of War 1/2

2 5 1 1 1 1 2 4 2 2 1 2 1 4 NO Forklaring af eksempler: I det første eksempel kan vi lave det venstre hold med deltagerne 1, 3, 6 og 7 (hvilket resulterer i et hold med styrke 1+8+2+1 = 12) og det højre hold med deltagerne 2, 4, 5 og 8 (hvilket resulterer i et hold med styrke 2 + 2 + 5 + 2 = 11). Forskellen på styrken af de to hold er 1. I det andet eksempel er begge spillere med styrke 4 nødt til at være på samme hold, så den minimale forskel i styrke der kan opnås er 6. Bedømmelse Delopgave Betingelser Point 1 n 10 18 2 n 2000 30 3 n 30 000, s i = 1 23 4 n 30 000 29 v. 3 Tug of War 2/2