zadania
Transkrypt
zadania
Algorytm! ! E - Wyzwanie starcie II. 11-04-2012 Miejsce Akcji: Pasadena CA, USA. Jako, że dr Cooper miał swoją szansę aby wyzwać nas na algorytmiczny pojedynek, teraz my mamy szanse zrewanżować się mu za to. Gdyby to ode mnie zależało, to dałbym tobie możliwość wymyślenia algorytmu dla dr. Coopera, ale nasz starszy agent dr Jacek Lembas przygotował już algorytm dla was. Zgodnie z widzimisię dr. Sheldona Coopera, i to zadanie jest zadaniem typu “short code contest”. Tym razem jest to jednak zadanie statystyczne dla kodów programistycznych. Wraz z dr. Sheldonem Cooperem ustaliliśmy, że ograniczymy się do kodów w języku C++, skoro już w tym języku piszemy wszystkie zadania. Dodatkowo ustaliliśmy sztywną listę słów kluczowych jakich statystykę będziemy liczyć. Zasady gry: A oto i zasady tej rozgrywki. Wejściem do programu będzie kod w języku C++. Zadanie polega na zliczeniu wystąpień słów kluczowych, których listę załączam poniżej. Jeśli słowo nie jest słowem kluczowym lub znakiem specjalnym, to jest ono identyfikatorem. Jako, że niezupełnie zrozumiałe jest wybieranie od 10 do 50 słów kluczowych w stosunku do wypisanych słów kluczowych na początku pliku, przyjmujemy co następuje: Słowa kluczowe, których szukamy: int, for, while, do, retuen, switch, if, else, class, void, true, false, delete, new, public, bool. Wynik powinien zawierać nagłówek wejście (nagłówek zaczyna się od pierwszej linii do pierwszej pustej linii). A następnie wynik zgodny ze strukturą podaną niżej. Wejście programu: Linia 0: A, C, P, L — imię i nazwisko autora, język progr., liczba programów, długość (ilość linii); Następnie mogą wystąpić linie ze słowami kluczowymi i pusta linia oddzielająca nagłówek od właściwych kodów programów. xi — liczba wystąpień i-tego słowa kluczowego (w porządku alfabetycznym); yi — liczba wystąpień identyfikatorów z i-tyej grupy (w porządku alfabetycznym); Struktura wyjścia: Pierwsza linia nagłówka; L1 — liczba znalezionych różnych słów kluczowych w programie; L2 — liczba wszystkich odnalezionych identyfikatorów; L3\tl3% — L3 to liczba wszystkich odnalezionych słów kluczowych, a l3% to ich procentowy udział w całym programie 16 ∑x i =1 i ; L4\tl4% — L4 to liczba wszystkich odnalezionych identyfikatorów, a l4% to ich procentowy udział w całym programie 16 16 ∑ x +∑ y i =1 i j=0 j ; yi-1\tyi-1% — ilość wystąpień identyfikatorów z i-1 grupy (w porządku alfabetycznym); xi\txi%\tsłowoKluczowe — ilość wystąpień i-tego słowa kluczowego; yi\tyi% — ilość wystąpień identyfikatorów z i-tej grupy; * \t - to znak tabulacji poziomej Powodzenia Agencie. —1—