luogu#B4095. [CSP-X2021 山东] 口袋

[CSP-X2021 山东] 口袋

题目描述

克拉拉同学平时就喜欢一些奇奇怪怪的东西,她有一个神奇的口袋,她能从口袋里拿出各种神奇的东西。

某一天她发现口袋里出现了一些像数字形状的物品,我们用 0\tt{0}9\tt{9} 这十种数字来表示不同的物品。

克拉拉有一个非常喜欢的数字 xx, 现在她想用口袋里的给出的这些数字形状的物品来组成尽可能多的 xx,每个物品只能用一次。组装过程中克拉拉发现这些像数字形状的物品中,2\tt{2}5\tt{5} 倒过来特别像,6\tt{6}9\tt{9} 倒过来也特别像,所以她可以用 2\tt{2}5\tt{5} 互相代替,也能用 6\tt{6}9\tt{9} 互相代替(其他的不能代替)。

举个例子,克拉拉喜欢数 42\tt{42},现在口袋里能拿出来顺序为 23454\tt{23454} 这五种物品,因此她可以用第一个物品 2\tt{2} 和第三个物品 4\tt{4} 组成 42\tt{42}(可以组成 24\tt{24},但不是需要的),还能用第四个物品 5\tt{5} 和第五个物品 4\tt{4} 组成 42\tt{42}(其中 5\tt{5} 倒过来可以当作 2\tt{2})。

现在想要知道这些物品最多能组成几个克拉拉最喜欢的数字。请你编程帮克拉拉解决这个问题,并输出能用物品组成 xx 的最多的个数。

输入格式

第一行为一个正整数 xx,表示克拉拉最喜欢的数字。

第二行为一个字符串,字符串每一位为 0\tt{0}9\tt{9} 的某个字符,字符串长度为物品的个数(数字之间没有其他符号)。

输出格式

一行,一个整数,表示能用物品拼成最多的 xx 的个数(拼成 xx 的次数)。

42
23454
2
169
21891919
1
801
12345678111
0

提示

样例 1 说明

(2,4)(\tt{2},\tt{4})(5,4)(\tt{5},\tt{4}) 拼成 42\tt{42},其中 5\tt{5} 可以倒过来当作 2\tt{2}。可以证明不能再多拼成一个 42\tt{42} 了。

样例 2 说明

$\tt{2}-{\color{red}{\tt{1}}}-\tt{8}-{\color{red}{\tt{9}}}-\tt{1}-{\color{red}{\tt{9}}}-\tt{1}-\tt{9}$,可以用 (1,9,9)(\tt{1},\tt{9},\tt{9}) 拼成 169\tt{169},第一个 9\tt{9} 可以倒过来当 6\tt{6} 使用。因为每个数字只能用一次,因此最多只能拼成一个 169\tt{169}

【数据范围和限制】

对于 30%30\% 的数据,1x1001 \leq x \leq 100,字符串长度不超过 2020

其中 10%10\% 的数据保证 x<10x < 10,另外 10%10\% 的数据保证 xx 中不出现 2,5,6,9\tt{2},\tt{5},\tt{6},\tt{9}

对于 60%60\% 的数据,1x10001 \leq x \leq 1000, 字符串长度不超过 100100

对于 100%100\% 的数据,1x1051 \leq x \leq 10^5,字符串长度不超过 2×1052\times 10^5