CF2093D.Skibidi Table

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Vadim 喜欢用整数填充正方形表格。但今天他想出了一个有趣的方法!以 2×22 \times 2 的表格为例,行从上到下编号,列从左到右编号。我们在左上角单元格放置 11,右下角放置 22,左下角放置 33,右上角放置 44。这就是他需要的全部乐趣!

幸运的是,Vadim 有一个大小为 2n×2n2^n \times 2^n 的表格。他计划用 11 到 22n2^{2n} 的整数按升序填充它。为了填充这么大的表格,Vadim 会将其分成 44 个相等的正方形子表格,先填充左上角的子表格,然后是右下角的子表格,接着是左下角的子表格,最后是右上角的子表格。每个较小的子表格会继续被分割成更小的子表格,直到分割成 2×22 \times 2 的表格,并按照上述顺序填充。

现在 Vadim 迫不及待要开始填充表格了,但他有 qq 个两种类型的问题:

  1. 位于第 xx 行第 yy 列的单元格中的数字是多少;
  2. 数字 dd 位于哪个单元格坐标中。

请帮助回答 Vadim 的问题。

输入格式

每个测试包含多组输入数据。第一行包含一个整数 tt(1≤t≤101 \leq t \leq 10)——输入数据的组数。接下来的行描述每组输入数据。

每组数据的第一行包含一个整数 nn,描述表格的大小(1≤n≤301 \le n \le 30)。

每组数据的第二行包含一个整数 qq——问题的数量(1≤q≤20 0001 \le q \le 20\,000)。

接下来的 qq 行描述每个问题,格式如下:

  • -> x y —— 询问位于第 xx 行第 yy 列的单元格中的数字(1≤x,y≤2n1 \le x, y \le 2^n);
  • <- d —— 询问数字 dd(1≤d≤22n1 \le d \le 2^{2n})所在的单元格坐标。

保证所有测试用例的 qq 之和不超过 20 00020\,000。

输出格式

对每个问题,输出一行答案。

输入输出样例

  • 输入#1

    2
    2
    5
    -> 4 3
    <- 15
    <- 4
    -> 3 1
    -> 1 3
    1
    8
    -> 1 1
    -> 1 2
    -> 2 1
    -> 2 2
    <- 1
    <- 2
    <- 3
    <- 4

    输出#1

    7
    2 3
    1 2
    9
    13
    1
    4
    3
    2
    1 1
    2 2
    2 1
    1 2

说明/提示

第一个样例的填充表格如下:

翻译由 DeepSeek V3 完成

输入解题思路,AI测评打分。不知道怎么写?

首页