Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_05_03 - Dwie mrówki |
Bajtek, jako zapalony myrmekolog-amator, obserwuje od pewnego czasu, jak mrówki znoszą pożywienie z pewnego stałego miejsca do mrowiska. Zauważył, że poruszają się tam i z powrotem zawsze tą samą ścieżką oraz, że każda mrówka porusza się z indywidualną, ale niezmienną prędkością.
W tym tygodniu Bajtek przeprowadził serię pomiarów, dotyczących przypadku, w którym dwie mrówki (nazwijmy je Szybka i Wolna) wyruszały z mrowiska jednocześnie i z różną prędkością. Oczywiście dochodziło wtedy zawsze do sytuacji, w której Szybka mrówka już wracała z porcją pożywienia do mrowiska i spotykała idącą jeszcze w przeciwnym kierunku Wolną. W tym momencie Bajtek włączał stoper. Gdy Szybka po raz pierwszy wracała do mrowiska, Bajtek notował zmierzony jej czas ts. Zanim do mrowiska wróciła Wolna mrówka, Szybka zdążyła jeszcze kilka razy przynieść kolejne porcje pożywienia. Kiedy to jednak w końcu nastąpiło, Bajtek zanotował czas tw zmierzony Wolnej mrówce.
Chłopiec zauważył również, że pierwsza porcja pożywienia jaką zabrała Szybka mrówka była taka sama, jak ta, którą wzięła Wolna, ale każda kolejna porcja, jaką niosła Szybka, była q razy mniejsza od poprzedniej. Bajtka interesuje teraz ile razy więcej pożywienia zdążyła zanieść do mrowiska Szybka mrówka, w czasie, który potrzebowała Wolna, aby wrócić z pierwszą porcją?
Czas potrzebny na zabranie pożywienia oraz na pozostawienie go w mrowisku jest pomijalnie mały.
Wejście
W pierwszej linii liczba testów t (t ≤ 100000).
Każda z kolejnych t linii zawiera trzy liczby. Dwie liczby całkowite tw i ts (0 < tw,ts ≤ 109, tw > ts) oznaczające czas w sekundach jaki upłynął od momentu spotkania mrówek do powrotu (odpowiednio Wolnej i Szybkiej) do mrowiska. Jedna liczba rzeczywista q (1 ≤ q ≤ 106) podana z dokładnością do szóstego miejsca po przecinku, oznaczająca ile razy kolejna porcja pożywienia jaką niosła Szybka mrówka była mniejsza od poprzedniej.
Wyjście
Dla każdego testu w osobnej linii jedna liczba rzeczywista, podana z dokładnością do szóstego miejsca po przecinku, oznaczająca ile razy więcej pożywienia przyniosła do mrowiska Szybka mrówka.
Przykład
Wejście: 3 67 33 2.000001 1234 12 5.500000 5685467 607 1.100000
Wyjście: 1.000000
1.222222
10.998831
Dodane przez: | Witold Długosz |
Data dodania: | 2013-04-02 |
Limit czasu wykonania programu: | 1s-3s |
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: | ALGOLIGA |