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

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

Разбиение таблицы

면접 대비

시간 제한1초메모리 제한512 MB

요약
1부터 n*m까지 행 우선으로 채운 n행 m열 표를 가로 또는 세로로 한 번 잘라 두 부분의 합 차이를 최소로 만들고, 동률이면 세로 자르기와 작은 번호를 우선해 출력한다.
난이도

보통10점 중 7점

유형
수학, 누적 합, 이분 탐색, 구현
정답자
아직 제출이 없습니다

문제

Рассмотрим таблицу из nn строк и mm столбцов, в клетки которой по строкам записаны числа от 11 до n⋅mn \cdot m. Сначала заполняется первая строка слева направо, затем вторая, и так далее. Другими словами в клетку (r,c)(r, c) записано число (r−1)⋅m+c(r - 1) \cdot m + c. 

На рисунке приведен пример такой таблицы для n=3n = 3, m=5m = 5.

12345
678910
1112131415

Требуется разделить таблицу одним вертикальным или горизонтальным разрезом, проходящим по сторонам клеток, так чтобы сумма чисел в получившихся частях таблицы отличалась как можно меньше. В этой задаче в одном тесте вам придётся ответить на несколько запросов об оптимальном разрезании таблицы.

입력

В первой строке ввода задано целое число tt --- количеcтво запросов (1≤t≤1051 \le t \le 10^5). 

В следующих tt строках заданы по два числа nn, mm (1≤n,m≤1091 \le n, m \le 10^9, 2≤n×m≤1092 \le n \times m \le 10^9).

출력

В tt строках выведите ответы на запросы, по одному на строке. 

Ответ на каждый запрос должен быть выведен в формате <<D $x$>>, где D --- это <<V>>, если нужно резать по вертикали, <<H>> --- если по горизонтали, а xx --- номер столбца или строки, перед которым надо сделать разрез. Строки пронумерованы от 11 до nn, столбцы пронумерованы от 11 до mm.

Если правильных ответов несколько, то надо вывести вариант с вертикальным разрезом, если он есть, а если и после этого вариантов несколько, то из вариантов с различными xx следует выбрать тот, в котором xx меньше.

예제1

  1. 예제 1

    입력
    5
    1 3
    4 7
    1 10
    3 3
    3 5
    
    예상 출력
    V 3
    V 5
    V 8
    H 3
    V 4