MTRWY: Matrix Легенда, описанная далее, переформулирована и упрощена переводчиком, чтобы читатель мог лучше понять условие задачи. Оригинальную легенду вы можете прочитать на странице задачи в контесте. Условие: Вам дана прямоугольная решетка N x M, а именно, множество ячеек (x, y), где 1 <= x <= N, 1 <= y <= M. Две ячейки смежные, если у них есть общая сторона. Формально, две ячейки (x1, y1) и (x2, y2) являются смежными, если |x1 – x2| + |y1 – y2| = 1. Между двумя смежными ячейками может быть стена. Две ячейки a и b соединены, если между ними существует путь (т.е. существует последовательность ячеек c1, c2, …, ck такая, что c1 = a, ck = b и для каждого 1 <= i < k, ci и cj – смежные). Вам дано Q запросов четырех типов: • • • • 1 x y – построить стену между ячейками (x, y) и (x, y + 1). Если стена в этом месте уже существует, то запрос игнорируется. 2 x y - построить стену между ячейками (x, y) и (x + 1, y). Если стена в этом месте уже существует, то запрос игнорируется. 3 x1 y1 x2 y2 – проверить соединены ли ячейки (x1, y1) и (x2, y2). Ответ равен “1”, если они соединены, иначе ответ - “0”. 4 – Найдите размер наибольшей компоненты связности. Компонента связности – это набор ячеек, каждая пара которых соединена между собой. До выполнения запросов в решетке не имеется стен. Формат ввода: В первой строке содержится целое число T – количество тестов. Далее следует описание тестов в следующем формате: Первая строка содержит разделенные одиночными пробелами целые числа N, M и Q. Следующие Q строк содержат описание запросов. Формат вывода: Для каждого тестового случая, выведите сумму ответов на запросы 3 и 4 типа в отдельную строку. Оценивание & ограничения: 1 • • • • • • 1 ≤ T ≤ 100 2 ≤ N, M ≤ 1000 Сумма всех Q во всех тестовых случаях не превышает 106. Для запросов первого типа: 1 <= x <= N и 1 <= y <= M-1. Для запросов второго типа: 1 <= x <= N-1 и 1 <= y <= M. Для запросов третьего типа: 1 <= x1, x2 <= N и 1 <= y1, y2 <= M. • • (Подзадача 1): 1 <= Q * N * M <= 106 – 15 баллов. (Подзадача 2): 1 <= N, M <= 300, сумма всех Q <= 105 – 15 баллов. • (Подзадача 3): оригинальные ограничения из условия – 70 баллов. Примеры тестов: Входные данные: 1 3 3 1 1 2 4 1 4 3 1 3 4 1 1 2 2 10 1 3 4 2 2 2 3 1 1 1 3 4 1 2 1 1 1 1 Выходные данные: 21 Пояснение: Запрос 1: Существует несколько путей от ячейки (1,1) до (3,4). Один из них отмечен на рисунке №1. Значит, ответ на этот запрос – 1. Запрос 2: На рисунке №2 изображена ячейка после выполнения второго запроса. Запрос 3: На рисунке №3 изображена ячейка после выполнения третьего запроса. Запрос 4: На рисунке №4 изображена ячейка после выполнения четвертого запроса. Запрос 5: На рисунке №5 изображена ячейка после выполнения пятого запроса. Запрос 6: На рисунке №6 изображена ячейка после выполнения шестого запроса. Запрос 7: На рисунке №7 изображена ячейка после выполнения седьмого запроса. Запрос 8: На рисунке №8 видно, что нет путей между ячейками (1,1) и (3,4). Значит, ответ на этот запрос – 0. Запрос 9: На рисунке №9 изображена ячейка после выполнения девятого запроса. Запрос 10: Когда ячейка a = b, то они всегда соединены. Следовательно, ответ – 1. Сумма всех ответов на запросы равна 1 + 12 + 7 + 0 + 1 = 21. 1 1