#P9930. [NFLSPC #6] 1064 病毒

[NFLSPC #6] 1064 病毒

题目背景

你的电脑中了 1064 病毒,现在电脑里储存的所有数字都开始坍缩了!

为了更彻底地毁灭你的电脑,对于十进制下的 nn 位数,邪恶的 1064 病毒会将它按照某种规则迭代至少 n+1n + 1 次,以确保你无法还原。

面对 1064 病毒,你手足无措。但是作为 OIer 的你想知道道道道道道道道道道道到到到到到到到到

题目描述

定义数字串为只含有数码 090\sim 9 的串,奇数数码为 1,3,5,7,91, 3, 5, 7, 9,偶数数码为 0,2,4,6,80, 2, 4, 6, 8

对数字串 xx,设其中奇数数码,偶数数码和总数码个数分别为 a,b,ca, b, c,则 a+b=c=xa + b = c = |x|。定义 g(x)g(x) 为将 a,b,ca, b, c 依次写下得到的数字串,不忽略前导零。例如 g(0)=011g(\texttt{0}) = \texttt {011}g(1064)=134g(\texttt{1064}) = \texttt{134}g(822)=033g(\texttt {822}) = \texttt {033}g(1092515503)=7310g(\texttt{1092515503}) = \texttt{7310}

fk(x)f_k(x) 表示将 数字 xx 忽略前导零 写成数字串 xx' 后,将 g(x)g(x') 迭代 kk 次得到的数字串对应的数字,即设 x=g(g(g(x)))x ^ * = g(g(\cdots g(x')))(共有 kkgg),则 fk(x)f_k(x) 为将 xx ^ * 写成数字后的结果。

给定 n,kn, k保证 n<kn < k),求 i=010n1fk(i)\sum_{i = 0} ^ {10 ^ n - 1} f_k(i)

多组数据。

输入格式

第一行一个整数 TT

接下来 TT 行,每行两个整数 n,kn, k 表示一组数据。

输出格式

对每组数据,输出一行一个整数表示答案。

1
0 1

11

提示

对于所有数据,1T601\leq T\leq 600n<k1050\leq n < k \leq 10 ^ 5k105\sum k\leq 10 ^ 5

  • 测试点 1(3030 分):n5n\leq 5k15k\leq 15
  • 测试点 2(7070 分):无特殊限制。

Source:NFLSPC #6 F by Alex_Wei