International Olympiad in Informatics 2013

Podobne dokumenty
W Brisbane grasują wielkie zmutowane wombaty. Pomóż ocalić ludzi od tej plagi torbaczy.

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

International Olympiad in Informatics July 2011, Pattaya City, Thailand Competition Tasks Day 2 Polish 1.3.

Autostradowe opłaty. Szczegóły implementacyjne. highway

Test z informatyki. do Liceum Akademickiego do profilu matematyczno-informatycznofizycznego. 31 maja 2014 r., godz. 9.

Wyszukiwanie plików w systemie Windows

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)



Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

Wprowadzenie do programowania

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

I. Podstawy języka C powtórka

Podstawy Programowania C++

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Wydział Matematyki I Informatyki ul. Słoneczna Olsztyn

WYŚWIETLACZE GRAFICZNE MAX

Systemy plików FAT, FAT32, NTFS

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

WYŚWIETLACZE GRAFICZNE I TEKSTOWE 7 KOLOROWE

Na poniższym rysunku widać fragment planszy. Pozycja pionka jest oznaczona przez. Pola, na które może dojść (w jednym ruchu), oznaczone są.

Język C, tablice i funkcje (laboratorium)

Język C, tablice i funkcje (laboratorium, EE1-DI)

Podstawy Programowania

Algorytm. a programowanie -

Instrukcje dla zawodników

Przykładowe sprawozdanie. Jan Pustelnik

Adresacja IPv4 - podstawy

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Zadanie: A2 Kapitan Mambeks i gra w skoczki Plik źródłowy: A2.pas dla języka Pascal Dostępna pamięć: 64 MB A2.c dla języka C A2.

Język programowania PASCAL

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Wojewódzki Kuratoryjny Konkurs z Informatyki Etap szkolny

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Najmniejszą możliwą macierzą jest macierz 1 x 2 lub 2 x 1 składająca się z dwóch przyległych komórek.

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Kompresja sekwencji obrazów

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Architektura komputerów

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w Logice Struktury danych (Lista 2)

Analizy sprzedażowe w Excelu tabele i wykresy przestawne

WYŚWIETLACZE GRAFICZNE MAX

1 Podstawy c++ w pigułce.

ZADANIA Z PODSTAW PROGRAMOWANIA ZALICZENIE WARUNKOWE, SEMESTR ZIMOWY 16/17

Zadanie 1. Suma silni (11 pkt)

POLITECHNIKA ŚLĄSKA. ZADANIE 2 WALCEM PO WALCU Zadanie zaproponowali: dr inż. Mariusz Pleszczyński, Wydział Matematyki Stosowanej, Politechnika Śląska

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP SZKOLNY BIAŁYSTOK, 22 LISTOPADA 2017 R.

R-LINK Evolution Instrukcja instalacji oprogramowania

Tom 6 Opis oprogramowania

Wprowadzenie i pojęcia wstępne.

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Programowanie w języku Swift : Big Nerd Ranch guide / Matthew Mathias, John Gallagher. Gliwice, cop Spis treści

Podstawy programowania skrót z wykładów:

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

TEST BETA PAMIĘCI PODRĘCZNEJ USB W APLIKACJI PRZYSPIESZ KOMPUTER - INSTRUKCJA

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

INSTRUKCJA AKTUALIZACJI SW WERSJI 5.5 BLUE&ME

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

Metody numeryczne Laboratorium 2

Podstawy algorytmiki i programowania - wykład 4 C-struktury

[WYSYŁANIE MAILI Z PROGRAMU EXCEL]

INSTRUKCJA OBSŁUGI PRZYSTAWKI PEN-01 DO PENDRIVE A

Konfiguracja interfejsu (złącza) PENDRIVE. Plik: PEN-01 PEN_45 PL

Pomorski Czarodziej 2016 Zadania. Kategoria C

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok2015 CZĘŚĆ PRAKTYCZNA

Proszę Cię, abyś odpowiadał na pytania szczerze i zgodnie z prawdą. Badanie jest poufne, więc nie musisz podawać swojego imienia i nazwiska.

Wyszukiwanie binarne

> C++ typy wyliczeniowe, struktury, unie, konwersje napis <-> liczba, formatowanie wyjścia

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

KONKURS FIZYCZNY dla uczniów gimnazjów województwa lubuskiego

Przeciążanie operatorów

Zadanie: FIL Ścieżki. Wejście. polish. BOI 2015, dzień 2. Dostępna pamięć: 256 MB

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Podstawy obiektowości

VII. Ciągi znaków łańcuchy

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Szybka i czytelna archiwizacja

Kompresja sekwencji obrazów - algorytm MPEG-2

EGZAMIN MATURALNY Z INFORMATYKI

Struktury, unie, formatowanie, wskaźniki

2 Zarówno zanonimizowany zbiór danych ilościowych, jak i opis jego struktury powinny mieć format csv:

Podstawy OpenCL część 2

Kilka prostych programów

Laboratorium technik optymalizacji: układanie uniwersyteckiego planu zajęć

Podstawy programowania obiektowego

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Aktualizacja. GBOX Assist. Wersja: 1.2

Pytania sprawdzające wiedzę z programowania C++

Spis treści OPIS PLIKU W FORMACIE CSV Z DANYMI PPE LUB EP 1

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Praca domowa nr 1. a a b a b ; b c. c a bc d ef gh. 2) Napisz kod sprawdzający poniższe warunki sformułowane w języku naturalnym:

Matematyczne Podstawy Informatyki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Transkrypt:

International Olympiad in Informatics 2013 6 13 July 2013 Brisbane, Australia Day 2 tasks robots Polish 1.0 Braciszek Bajtyny porozrzucał w pokoju mnóstwo zabawek. Bajtyna chciałaby zaprowadzić porządek w pokoju i odstawić wszystkie zabawki z powrotem na półkę. Aby się zbytnio nie namęczyć, zaprzęgnie do tej czynności skręcone naprędce robociki. Bajtyna poprosiła Cię o pomoc w określeniu, które robociki powinny zgarnąć poszczególne zabawki. Na podłodze leży łącznie T zabawek. Każda z nich charakteryzuje się dwoma parametrami wyrażającymi się liczbami całkowitymi: masą W[i] i rozmiarem S[i]. Bajtyna ma dwa typy robocików: słabe oraz małe. Jest A słabych robocików. Każdy z nich ma pewną wytrzymałość X[i], co oznacza, że może podnieść dowolny przedmiot o masie ściśle mniejszej niż X[i]. Rozmiar podnoszonego przedmiotu jest nieistotny. Jest B małych robocików. Każdy z nich ma pewną pojemność Y[i], co oznacza, że może podnieść dowolny przedmiot rozmiaru ściśle mniejszego niż Y[i]. Masa podnoszonego przedmiotu jest nieistotna. Odstawienie zabawki na półkę zajmuje każdemu robocikowi jedną minutę. Różne robociki mogą odstawiać różne zabawki jednocześnie. Zadaniem Twojego programu jest stwierdzić, czy robociki Bajtyny mogą odstawić wszystkie zabawki na półkę oraz, jeśli odpowiedź jest twierdząca, wyznaczyć najkrótszy czas, w którym mogą to zrobić. Przykłady Przykład 1. Załóżmy, że Bajtyna ma A = 3 słabe robociki o wytrzymałościach X = [6, 2, 9] i B = 2 małe robociki o pojemnościach Y = [4, 7], a na podłodze leży T = 10 następujących zabawek: Numer zabawki 0 1 2 3 4 5 6 7 8 9 Masa 4 8 2 7 1 5 3 8 7 10 Rozmiar 6 5 3 9 8 1 3 7 6 5 https://translate.ioi2013.org/day2/w/robots/pl 1/5

W tej sytuacji uporządkowanie wszystkich zabawek zajmie robocikom Bajtyny dokładnie trzy minuty: Słaby robocik 0 Słaby robocik 1 Słaby robocik 2 Mały robocik 0 Mały robocik 1 Pierwsza minuta Zabawka 0 Zabawka 4 Zabawka 1 Zabawka 6 Zabawka 2 Druga minuta Zabawka 5 Zabawka 3 Zabawka 8 Trzecia minuta Zabawka 7 Zabawka 9 Przykład 2. Załóżmy, że Bajtyna ma A = 2 słabe robociki o wytrzymałościach X = [2, 5] i B = 1 mały robocik o pojemności Y = [2], a na podłodze leżą T = 3 następujące zabawki: Numer zabawki 0 1 2 Masa 3 5 2 Rozmiar 1 3 2 Żaden z robocików nie jest w stanie podnieść zabawki o masie 5 i rozmiarze 3, więc w tej sytuacji nie da się uporządkować wszystkich zabawek. Implementacja Powinieneś zgłosić plik z implementacją funkcji putaway(): Twoja funkcja: p u t a w a y ( ) C/C++ Pascal i n t p u t a w a y ( i n t A, i n t B, i n t T, i n t X [ ], i n t Y [ ], i n t W [ ], i n t S [ ] ) ; f u n c t i o n p u t a w a y ( A, B, T : L o n g I n t ; v a r X, Y, W, S : a r r a y o f L o n g I n t ) : L o n g I n t ; https://translate.ioi2013.org/day2/w/robots/pl 2/5

Opis Ta funkcja powinna obliczyć, jaki jest najkrótszy czas (w minutach) potrzebny na uporządkowanie wszystkich zabawek. Jeśli uporządkowanie zabawek nie jest możliwe, funkcja powinna zwrócić 1. Argumenty A: liczba słabych robocików B: liczba małych robocików T: liczba zabawek X: tablica liczb całkowitych rozmiaru A określająca wytrzymałości poszczególnych słabych robocików Y: tablica liczb całkowitych rozmiaru B określająca pojemności poszczególnych małych robocików W: tablica liczb całkowitych rozmiaru T określająca masy poszczególnych zabawek S: tablica liczb całkowitych rozmiaru T określająca rozmiary poszczególnych zabawek Wynik funkcji: najmniejsza liczba minut potrzebnych do uporządkowania wszystkich zabawek lub 1, jeśli uporządkowanie nie jest możliwe. Przykład Oto przykładowe argumenty funkcji oraz prawidłowy wynik dla pierwszego przykładu. Argument Wartość 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] Wynik 3 https://translate.ioi2013.org/day2/w/robots/pl 3/5

Oto przykładowe argumenty funkcji oraz prawidłowy wynik dla drugiego przykładu. Argument Wartość A 2 B 1 T 3 X [2, 5] Y [2] W [3,5,2] S [1,3,2] Wynik 1 Ograniczenia Maksymalny czas działania: 3 sekundy Limit pamięci: 64 MiB 1 T 1 000 000 0 A, B 50 000 i 1 A + B 1 X[i], Y[i], W[i], S[i] 2 000 000 000 Podzadania Podzadanie Punkty Dodatkowe ograniczenia 1 14 T = 2 i A + B = 2 (dokładnie dwie zabawki i dwa robociki) 2 14 B = 0 (wszystkie robociki są słabe) 3 25 T 50 i A + B 50 4 37 T 10,000 i A + B 1 000 5 10 (brak) https://translate.ioi2013.org/day2/w/robots/pl 4/5

Uruchamianie lokalne Przykładowy moduł oceniający na Twoim komputerze wczytuje dane z pliku robots.in w następującym formacie: wiersz 1: ABT wiersz 2: X[0] X[A 1] wiersz 3: Y[0] Y[B 1] kolejne T wierszy: W[i] S[i] Dane z pierwszego przykładu powinny być więc podane w następującym formacie: 3 2 1 0 6 2 9 4 7 4 6 8 5 2 3 7 9 1 8 5 1 3 3 8 7 7 6 1 0 5 Jeśli A = 0 lub B = 0, odpowiedni wiersz (wiersz 2 lub wiersz 3) powinien być pusty. Uwagi natury językowej C/C++ Pascal Użyj dyrektywy #include"robots.h". Musisz zdefiniować unitrobots. Wszystkie tablice są indeksowane od 0 (a nie od 1). Przykłady znajdziesz w przykładowych rozwiązaniach na Twoim komputerze. https://translate.ioi2013.org/day2/w/robots/pl 5/5