#P17334. PM8317大棋盘上的公爵

PM8317大棋盘上的公爵

题目描述

定义一种棋子“公爵”:它每一步只能向上、下、左或右移动 1 格。

考虑一个大小为 1000000×10000001000000 \times 1000000 的大棋盘。行和列都从 000000999999 编号。一个格子记作 (列编号, 行编号),其中列编号和行编号都恰好包含六位数字。例如,(499999, 000000)(500000, 000000) 是最底行中间的两个格子。

现在有一个公爵位于坐标为 (x, y) 的格子,其中 x 表示列号,y 表示行号。

公爵的一条路径可以表示为它依次访问过的格子组成的、用空格分隔的列表。例如,(444444, 600000) (444445, 600000) (444445, 599999) 是一条包含两次移动的路径:第一次向右移动一格,第二次向下移动一格。

如果一条路径中没有重复出现的格子,则称它为简单路径。

在所有从起点出发的简单路径中,考虑按完整路径字符串比较时字典序最大的那一条。请输出这条路径的最后一个格子的坐标。

输入格式

输入一行两个整数 x y,分别表示公爵初始位置的列号和行号。

题目定义中的格子表示为 (cccccc, rrrrrr):列号和行号都写成恰好六位数字。输入时不需要读入括号、逗号或前导零,只需读入两个整数即可。

输出格式

输出一行两个整数 x y,表示字典序最大的简单路径的最后一个格子的列号和行号。

数据范围与约定

  • 棋盘大小为 1000000×10000001000000 \times 1000000
  • 所有行号和列号都是从 000000999999 的六位十进制编号。
  • 起点的列号和行号均在 0999999 之间。

提示

若字符串 B 是字符串 A 的真前缀,或者在二者第一个不同位置上 A 的字符更大,则称字符串 A 的字典序大于字符串 B

输入输出样例 #1

输入 #1

999999 999999

输出 #1

0 999999

说明 #1

公爵位于右上角。它先一路向下走到 (999999, 000000),然后向左一格,再一路向上;之后继续以这种蛇形方式覆盖整个棋盘。最后它来到最左列,并向上走到棋盘左上角,即 (000000, 999999)

输入输出样例 #2

输入 #2

999999 0

输出 #2

0 0

说明 #2

如果公爵从右下角出发,它同样会走出蛇形路径。这一次,它在奇数列向上走、在偶数列向下走。最终它会沿 000000 列向下移动,并停在 (000000, 000000)

输入输出样例 #3

输入 #3

0 999998

输出 #3

0 999999

说明 #3

从这个位置出发时,公爵的路径只会访问 2000000 个格子。它先一路向右走到 (999999, 999998),再向上一格到 (999999, 999999),然后一路向左走到 (000000, 999999);此时已经没有未访问过的相邻格子可以继续移动。