TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P8223
  • 题目
  • P8223[CCO2021] 德芙的离谱进制
    限制 : 时间限制 : - MS   空间限制 : 1048576 KB
    评测说明 : 1.5s,1GB
    问题描述

    德芙正在思考一个关于 \(K\) 进制整数的问题。

    普通的 \(K\) 进制可以将整数 \(n\) 表示为 \(\overline{d_{m-1}d_{m-2}\cdots d_1,d_{0}}\) ,且满足

    • 每个数位 \(d_i\) 都在 \(\{0,1,\cdots,K-1\}\) 中;
    • \(n=d_{m-1}K^{m-1}+d_{m-2}K^{m-2}+\cdots+d_1K^1+d_0K^0\)

    例如,十进制的 \(15\)\(K=3\) 进制下是 \(\overline{\texttt{1 2 0}}\) ,这是因为 \(15=1\cdot 3^2+2\cdot3^1+0\cdot 3^0\)

    然而,普通的 \(K\) 进制整数对于德芙来说太简单了,德芙更喜欢离谱的 \(K\) 进制整数。它与普通 \(K\) 进制整数的差别仅仅在于将 \(\{0,1,\cdots,K-1\}\) 换成了 \(\{a_1,a_2,\cdots,a_D\}\)

    例如,当 \(a=\{-1,0,1\}\) 时,十进制的 \(15\) 在离谱的 \(K=3\) 进制下是 \(\overline{\texttt{1 -1 -1 0}}\) ,这是因为 \(15=1\cdot 3^3+(-1)\cdot3^2+(-1)\cdot 3^1+0\cdot 3^0\)

    现在有一组固定的 \(a_1,\cdots,a_D\) ,德芙想要将 \(Q\) 个十进制整数 \(n_1,\cdots,n_Q\) 全部转化为离谱的 \(K\) 进制整数,这种问题显然更适合写程序来解决。

    输入格式

    第一行四个正整数 \(K,Q,D,M\)

    第二行 \(D\) 个整数 \(a_1,\cdots,a_D\)

    接下来 \(Q\) 行,每行一个整数 \(n_i\)

    输出格式

    输出 \(Q\) 行,第 \(i\) 行表示 \(n_i\) 转化后的结果,按幂次从高到低的顺序输出每一位,两个位之间用单个空格间隔。当 \(0\in \{a_1,\cdots,a_D\}\) 时,你转化的结果可以包含前导零,但最好不要太多。当 \(n_i=0\) 时,你转化的结果也不能为空。如果有多种方案可以随便输出一种,如果无法转化输出 IMPOSSIBLE

    样例输入 1

    3 3 3 1
    -1 0 1
    15
    8
    -5

    样例输出 1

    1 -1 -1 0
    1 0 -1
    -1 1 1

    样例输入 2

    10 1 3 2
    0 2 -2
    17

    样例输出 2

    IMPOSSIBLE

    提示

    所有测试数据:
    \(2\leq K\leq 1\;000\;000\)
    \(1\leq Q\leq 5\)
    \(1\leq D\leq 801\)
    \(1\leq M\leq 400\)
    \(-M\leq a_i\leq M\)
    \(-10^{18} \leq n_i\leq 10^{18}\)

    官方数据不太多,全部都放了,你也可以自己 去下载 完整数据包自行评测