#3867. [科大国创杯小学组 2025] 正方形划分
[科大国创杯小学组 2025] 正方形划分
题目描述
小可可发明了一种新的正方形划分方法。
首先我们有一个正方形,我们称该图形为第 轮的图形。我们将这个正方形均匀划分成 个部分——左上、右上、左下和右下,分别将其编号为 ,称新的图形为第 轮的图形。
我们再将第一个图形所划分的每一个部分 ,分别再分成 个部分,称新的图形为第 轮的图形。对于该图形的每个部分的命名方式为该部分所属第 轮的部分的编号 。如:原来第 轮的 部分的右上部分的编号为 。
第 轮及以上的图形以此类推。这样每个方格都有一个编号,同时也有一个位置,即第几行(从上往下数)第几列 (从左往右数)。现在小可可想实现编号与其位置的相互转化,请你写一份程序帮帮他。
输入格式
本题有多组测试数据,输入第一行一个整数 表示测试数据组数,接下来输入每组数据。
对于每组测试数据共一行,有以下两种可能:
- 表示该测试数据需要求出第 轮的图形中第 行第 列的格子的编号。
- 表示该测试数据需要求出编号为 的格子的位置。
如果仍然对输入方式不够清楚,可以去观察输入输出样例和样例解释。
输出格式
对于每组测试数据:
- 如果输入的测试数据为 的形式,输出一行一个字符串 表示该格子编号。
- 如果输入的测试数据为 的形式,输出一行三个整数 表示该格子位于第 轮图形的第 行第 列。
输入输出样例 #1
输入 #1
3
0 1 2 1
1 AB
0 2 3 4
输出 #1
C
2 1 2
DB
说明/提示
样例解释
第一行一个整数 表示我们一共有三组测试数据。
第一组测试数据 ,表示我们要将第 轮图形的第 行第 列的位置转化为编号,根据题意描述中的图可知编号为 。
第二组测试数据 ,表示我们要求出编号为 的格子的位置,根据题意描述中的图可知它在第 轮第 行第 列。
第三组测试数据 ,表示我们要将第 轮图形的第 行第 列的位置转化为编号,根据题意描述中的图可知编号为 。
约定和数据范围
- 数据点 ,,。
- 数据点 ,,。
- 数据点 ,,,即保证所有图形均为第 轮图形。
- 数据点 ,,,询问仅形如 。
- 数据点 7,,,询问仅形如 。
- 数据点 ,,。
相关
在下列比赛中: