P12287 [蓝桥杯 2024 国 Java A] 进制判断
题目描述
小蓝有 $n$ 个数,他将这 $n$ 个数分别转换成了 $2, 4, 8, 16$ 进制之一的形式。其中 $16$ 进制用大写字母 $A$ 至 $F$ 表示大于等于 $10$ 的数位。
小蓝现在有这 $n$ 个数转换后的结果 $A_i$,但他不记得具体每个数转换后是几进制了,他现在只知道转换后的 $A_i$ 以及其原本应该小于等于某个数 $B_i$($10$ 进制表示)。
请你帮他找出每个数原本在 $10$ 进制下的值,如果不存在唯一结果请输出 $-1$。
输入格式
输入的第一行包含一个整数 $n$。
接下来 $n$ 行,每行包含两个整数 $A_i, B_i$,用一个空格分隔,其中 $A_i$ 是 $2, 4, 8, 16$ 进制中的一种,$B_i$ 是十进制。
输出格式
输出 $n$ 行,每行包含一个整数表示答案。
说明/提示
### 评测用例规模与约定
- 对于 $40\%$ 的评测用例,$n = 1$;
- 对于 $70\%$ 的评测用例,$1 \leq n \leq 10$;
- 对于所有评测用例,$1 \leq n \leq 1000$,$1 \leq \mathrm{length}(A_i) \leq 30$,$1 \leq B_i \leq 10^9$,其中 $\mathrm{length}(A_i)$ 表示 $A_i$ 的长度(数位个数)。