Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
MWP3_3D - Dzielenie pizzy |
Pewnego pięknego, słonecznego dnia grupa przyjaciół z niecierpliwością oczekiwała na początek kolejnego wspaniałego meczu w wykonaniu naszej piłkarskiej reprezentacji. Popijali Coca-Colę, opowiadali dowcipy, postanowili również coś zjeść. Jak przystało na prawdziwych informatyków zamówili pizzę. Dostawca przyjechał na czas, mecz właśnie się zaczynał, wszystko przebiegało bez problemów - do czasu gdy otworzyli karton. Oczom naszych bohaterów ukazał się przerażający widok - pizza nie była pokrojona! Co tu teraz począć? Po długim namyśle ustalili niezwykle przebiegły plan działania. Na ulotce z pizzerii znaleźli wielkość boku kwadratowego kartonu, zauważyli również, że pizza styka się z każdym jego brzegiem. Mając te informacje nie pozostało nic innego jak tylko ją pokroić. Każde wykonane cięcie powinno stanowić średnicę pizzy.
Wejście
W pierwszej linii wejścia znajduje się jedna liczba naturalna Z (1 ≤ Z ≤ 105) określająca ilość zestawów danych. W kolejnych liniach znajdują się zestawy danych.
W pierwszej i jedynej linii każdego zestawu danych znajdują się dwie liczby całkowite d, n (10 ≤ d ≤ 108; 3 ≤ n ≤ 106) opisujące odpowiednio długość boku kartonu od pizzy w centymetrach oraz ilość osób chętnych do jedzenia.
Wyjście
Dla każdego zestawu danych należy w osobnej linii wypisać dwie liczby określające odpowiednio co ile centymetrów należy przeciąć pizzę i ile takich cięć należy wykonać aby każdy otrzymał tyle samo pizzy, a kawałki były możliwie jak największe. W związku z tym, że nasi bohaterowie nie lubią marnować pieniędzy cała pizza musi zostać zjedzona. Pierwsza z liczb powinna zostać wypisana z dokładnością do trzech cyfr po przecinku.
Przykład
Wejście:
1 10 4
Wyjście:
7.854 2
W językach, w których nie jest zdefiniowana stała π jako jej wartość należy przyjąć wynik funkcji cyklometrycznej arcus cosinus dla parametru -1. Przykład dla C++: const double pi = acos(-1.0);
Funkcja acos zdefiniowana jest w pliku nagłówkowym cmath (math.h dla C).
Dodane przez: | Maciej Boniecki |
Data dodania: | 2010-12-17 |
Limit czasu wykonania programu: | 0.100s-1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC ASM64 MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |
Pochodzenie: | III Mistrzostwa WWSI w Programowaniu |