B4095 [CSP-X2021 山东] 口袋

题目描述

克拉拉同学平时就喜欢一些奇奇怪怪的东西,她有一个神奇的口袋,她能从口袋里拿出各种神奇的东西。 某一天她发现口袋里出现了一些像数字形状的物品,我们用 $\tt{0}$ 到 $\tt{9}$ 这十种数字来表示不同的物品。 克拉拉有一个非常喜欢的数字 $x$, 现在她想用口袋里的给出的这些数字形状的物品来组成尽可能多的 $x$,每个物品只能用一次。组装过程中克拉拉发现这些像数字形状的物品中,$\tt{2}$ 和 $\tt{5}$ 倒过来特别像,$\tt{6}$ 和 $\tt{9}$ 倒过来也特别像,所以她可以用 $\tt{2}$ 和 $\tt{5}$ 互相代替,也能用 $\tt{6}$ 和 $\tt{9}$ 互相代替(其他的不能代替)。 举个例子,克拉拉喜欢数 $\tt{42}$,现在口袋里能拿出来顺序为 $\tt{23454}$ 这五种物品,因此她可以用第一个物品 $\tt{2}$ 和第三个物品 $\tt{4}$ 组成 $\tt{42}$(可以组成 $\tt{24}$,但不是需要的),还能用第四个物品 $\tt{5}$ 和第五个物品 $\tt{4}$ 组成 $\tt{42}$(其中 $\tt{5}$ 倒过来可以当作 $\tt{2}$)。 现在想要知道这些物品最多能组成几个克拉拉最喜欢的数字。请你编程帮克拉拉解决这个问题,并输出能用物品组成 $x$ 的最多的个数。

输入格式

第一行为一个正整数 $x$,表示克拉拉最喜欢的数字。 第二行为一个字符串,字符串每一位为 $\tt{0}$ 到 $\tt{9}$ 的某个字符,字符串长度为物品的个数(数字之间没有其他符号)。

输出格式

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

说明/提示

样例 1 说明 $(\tt{2},\tt{4})$ 和 $(\tt{5},\tt{4})$ 拼成 $\tt{42}$,其中 $\tt{5}$ 可以倒过来当作 $\tt{2}$。可以证明不能再多拼成一个 $\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}$,可以用 $(\tt{1},\tt{9},\tt{9})$ 拼成 $\tt{169}$,第一个 $\tt{9}$ 可以倒过来当 $\tt{6}$ 使用。因为每个数字只能用一次,因此最多只能拼成一个 $\tt{169}$。 【数据范围和限制】 对于 $30\%$ 的数据,$1 \leq x \leq 100$,字符串长度不超过 $20$。 其中 $10\%$ 的数据保证 $x < 10$,另外 $10\%$ 的数据保证 $x$ 中不出现 $\tt{2},\tt{5},\tt{6},\tt{9}$。 对于 $60\%$ 的数据,$1 \leq x \leq 1000$, 字符串长度不超过 $100$; 对于 $100\%$ 的数据,$1 \leq x \leq 10^5$,字符串长度不超过 $2\times 10^5$。