Logo
(追記) (追記ここまで)

20449번 - Квантовая телепортация 서브태스크스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 512 MB1333100.000%

문제

Ученые в IT-компании разработали квантовый суперкомпьютер. Опытный образец, разработанный учеными, содержит $n \times m$ квантовых процессоров, организованных в виде сетки из $n$ строк и $m$ столбцов. Обозначим процессор в $j$-й ячейке $i$-й строки как $(i, j)$.

Ученые запустили квантовый суперкомпьютер, однако после окончания вычислений произошел сбой в электропитании, из-за чего часть процессоров оказалась повреждена. В распоряжении исследователей осталось всего лишь $k$ уцелевших процессоров.

Результат вычислений находится в памяти процессора $(1, 1),ドル а устройство вывода подключено к процессору $(n, m)$. Для передачи информации от одного процессора к другому используется квантовая телепортация. Особенность квантовой телепортации заключается в том, что с увеличением расстояния возникает нестабильность, требующая дополнительной энергии. Поэтому чтобы обеспечить перенос информации от процессора $(x_i, y_i)$ к процессору $(x_j, y_j)$ требуется 2ドル^{\max(|x_i - x_j|, |y_i - y_j|)}$ единиц энергии. Ученые хотят перенести информацию с процессора $(1, 1)$ на процессор $(n, m),ドル затратив минимальное количество энергии. При этом можно использовать в качестве промежуточных другие уцелевшие процессоры. Использовать поврежденные процессоры нельзя.

Требуется написать программу, которая по описанию уцелевших процессоров определяет, каким образом необходимо передавать данные между процессорами, чтобы перенести информацию из процессора $(1, 1)$ в процессор $(n, m),ドル потратив минимальное суммарное количество энергии.

입력

В первой строке входных данных находятся три целых числа $n,ドル $m$ и $k$ --- количество строк и столбцов в сетке и количество оставшихся невредимыми после отключения электричества процессоров (2ドル \le n, m, k \le 10,000円$).

Далее следуют $k$ строк, в $i$-й из которых содержатся два целых числа $x_i$ и $y_i$ ---номер строки и столбца $i$-го уцелевшего процессора (1ドル \le x_i \le n,ドル 1ドル \le y_i \le m$).

Гарантируется, что $(x_1, y_1) = (1, 1),ドル $(x_k, y_k) = (n, m)$. Все процессоры находятся в разных ячейках сетки.

출력

Первая строка выходных данных должна содержать число $L$ --- количество процессоров, которые будут использованы при передаче информации.

Вторая строка должна содержать $L$ чисел --- номера уцелевших процессоров в том порядке, в котором они будут получать информацию. Первым должен быть выведен процессор номер 1ドル,ドル а последним --- процессор номер $k$.

Если вариантов передачи информации, минимизирующих затраченную энергию, несколько, то можно вывести любой из них.

제한

서브태스크

번호배점제한
121

2ドル \le n, m, k \le 20$

213

2ドル \le n, m, k \le 500$

333

2ドル \le n, m, k \le 10,000円,ドル В каждой строке таблицы и в каждом столбце таблицы находится не более одного уцелевшего процессора

433

2ドル \le n, m, k \le 10,000円$

예제 입력 1

4 5 3
1 1
2 3
4 5

예제 출력 1

3
1 2 3

예제 입력 2

5 6 9
1 1
4 3
4 6
2 5
3 1
3 3
3 6
5 4
5 6

예제 출력 2

5
1 6 2 8 9

힌트

출처

Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics 2018 4번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /