11577. Зміна положення карток


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

У нас є \(HW\) карток, які розташовані в матриці з \(H\) рядками і \(W\) стовпцями. Для кожного \(i=1, \ldots, N\), карта на \(A_i\) ряду і \(B_i\) стовпцю містить напис - число \(i\). На інших картках \(HW-N\) нічого не написано.

Ми будемо повторювати наступні два види операцій над цими картками доки зможемо.

  • Якщо є рядок без пронумерованої картки, видаліть усі картки в цьому ряду та заповніть проміжок, зсунувши решту карт вгору.

  • Якщо є стовпець без пронумерованої картки, видаліть усі картки в цій колонці та заповніть прогалину, перемістивши решту карток ліворуч.

Знайдіть положення кожної пронумерованої картки після завершення процесу, описаного вище.

Можна довести, що ці позиції однозначно визначаються без залежності від порядку, в якому виконуються операції.

Формат вхідних даних

Перший рядок містить цілі числа \(H,W,N\) (\(1 \le H,W \le 10^9\), \(1 \le N \le min(10^5,HW)\))

Наступні  \(N\) рядків містять цілі числа \(A_i, B_i\) (\(1 \le A_i \le H\), \(1 \le B_i \le W\))

Формат вихідних даних

У вихідний потік виведіть \(N\) рядків.

Якщо після завершення процесу карта з номером \(i\) знаходиться в \(C_i\) рядкц і \(D_i\) стовпці, то \(i\)-й рядок повинен містити \(C_i\) і \(D_i\) в такому порядку з пробілом між ними.

Примітка

До прикладу 1:

Нехай * представляє картку, на якій нічого не написано. Початкове розташування карток таке:

*****
****2
*1***
*****

Після закінчення процесу вони розташовуються таким чином:

*2
1*

Тут картка з 1 знаходиться в 2-му рядку і 1-му стовпці, а картка з 2 знаходиться в 1-му рядку і 2-му стовпці.

Приклад вхідних даних

4 5 2
3 2
2 5

Приклад вихідних даних

2 1
1 2

Приклад вхідних даних

1000000000 1000000000 10
1 1
10 10
100 100
1000 1000
10000 10000
100000 100000
1000000 1000000
10000000 10000000
100000000 100000000
1000000000 1000000000

Приклад вихідних даних

1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10

Коментарі

Ще немає коментарів.