[BOJ 8560] Waga binarna

View as PDF

Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

Waga binarna to specyficzne urządzenie, które może dokonywać pomiarów dowolnych wielkości z przedziału (0, 1) z ustaloną dokładnością. Dokładność wagi ustala się pokrętłem, które można ustawić na pozycji 1 lub 2, lub 3, lub ..., lub 10. Gdy dokładność jest ustawiona na m, to waga dokonuje pomiarów z dokładnością do 1 / 2m. Wyniki pomiarów wagi są zapisywane w postaci par (, m). Taka para oznacza, że dokładność wagi jest ustawiona na m i wskazanie wagi wynosi , czyli ciężar ważonego przedmiotu wynosi /2m ( jest liczbą naturalną i oczywiście 0 < < 2m, gdyż wspominaliśmy, że waga wskazuje wielkości z przedziału (0, 1)).</p>

Twoim zadaniem jest napisanie programu, który uporządkuje wyniki pomiarów od najmniejszych do największych. Wyniki pomiarów zadane są w postaci par (, m). Różne pary oznaczające takie same wyniki (np. (1, 2) i (2, 3)) należy uporządkować rosnąco według wskazań, czyli pierwszych elementów w parach.

입력 형식

Program powinien czytać dane z wejścia standardowego. W pierwszym wierszu danych podana jest liczba n (1 ≤ n ≤ 20 000), oznaczająca liczbę par. W kolejnych n wierszach podane są pary liczb i i mi, po jednej parze w wierszu; i i mi są oddzielone pojedynczym odstępem. Dla każdej pary spełnione są warunki: 1 ≤ mi ≤ 10 oraz 1 ≤ i ≤ 2mi.

출력 형식

Program powinien pisać wynik na wyjście standardowe. Wynikiem powinno być n par liczb podanych na wejściu, ale w takiej kolejności, by pary odpowiadające mniejszym wartościom pomiarów występowały przed parami odpowiadającymi większym wartościom. Takie same pomiary należy zapisać niemalejąco według wskazań. Każdą parę należy zapisać w takiej samej postaci, w jakiej była podana na wejściu.

예제 입력

4
1000 10
3 10
5 3
250 8

예제 출력

3 10
5 3
250 8
1000 10

Comments

There are no comments at the moment.