题解:P11442 [Code+#6] 坐标转换
akcsps
·
·
题解
将给出的标号看作四进制数,从高位到低位看,每次将当前网格分成 4 份,则每一位决定这个格子在哪一块中,然后递归进入这个块,重复这个过程即可。最后可确定这个格子的横纵坐标,然后再算出在 R 编码中的标号就可以了。
先确定给出格子的横纵坐标。和上述算法类似,每次将当前网格分成 4 块,通过横纵坐标判断这个格子属于哪一块,然后递归进入这个块,重复这个过程。确定格子属于当前网格的第几个块的时候,可以求出在这之前有多少个块已经在 Z 编码中遍历过了,累加到答案即可。