아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Минное поле

시간 제한2초메모리 제한1024 MB

요약
격자에서 광산을 하나씩 제거해 나가며, 주어진 방향으로 가장 가까운 남은 광산의 위치를 답하는 문제입니다.
난이도

보통10점 중 6점

유형
유니온 파인드, 구현
정답자
아직 제출이 없습니다

문제

Сегодня Аквамен решил заняться разминированием старого минного поля времен Второй мировой войны. Поле состоит из nn строк и mm столбцов квадратных клеток, в каждой из которых изначально закопана мина. Будем обозначать клетку на пересечении xx-й строки и yy-го столбца как (x,y)(x, y). Так как работа по извлечению мин довольно утомительна, Аквамен будет иногда задавать вам вопросы следующего вида. Артур говорит вам клетку (x,y)(x, y) и одно из четырех направлений (вверх, вниз, влево, вправо) и просит найти ближайшую к (x,y)(x, y) клетку в выбранном направлении, в которой еще есть мина, либо сказать, что такой клетки нет.

입력

В первой строке даны три целых числа nn, mm и qq --- размеры поля и количество запросов (1≤n,m≤2,0001 \le n, m \le 2\\,000; 1≤q≤1061 \le q \le 10^6). В следующих строках даны запросы. Каждый запрос начинается с символа, а затем идут два целых числа x_ix\_i и y_iy\_i (1≤x_i≤n1 \le x\_i \le n, 1≤y_i≤m1 \le y\_i \le m). Если символ равен <<c>>, это означает, что Артур выкопал мину в клетке (x_i,y_i)(x\_i, y\_i). Гарантируется, что он выкапывает мину в каждой клетке не более одного раза. Иначе, Аквамен просит вас найти ближайшую к клетке (x_i,y_i)(x\_i, y\_i) клетку, в которой еще есть мина, в выбранном направлении. Если символ равен <<u>>, то направление --- вверх, если символ --- <<d>>, направление --- вниз, если символ --- <<l>>, направление --- влево, и если символ --- <<r>>, направление --- вправо.

출력

На каждый вопрос выведите искомую клетку, или <<-1>>, если такой клетки нет.

예제1

  1. 예제 1

    입력
    3 4 6
    u 2 3
    c 2 4
    r 2 4
    c 2 3
    l 2 4
    d 1 3
    
    예상 출력
    1 3
    -1
    2 2
    3 3