#2950. 口袋(pocket)

口袋(pocket)

题目描述

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

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

克拉拉有一个非常喜欢的数字XX ,现在她想用口袋里的给出的这些数字形状的物品来组成尽可能多的 XX, 每个物品只能用一次

组装过程中克拉拉发现这些像数字形状的物品中, “2” 和 “5”倒过来特别像, “6” 和 “9” 倒过来也特别像, 所以她可以用 2 和 5 互相代替, 也能用 6 和 9互相代替(其他的不能代替) 。

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

现在想要知道这些物品最多能组成几个克拉拉最喜欢的数字。

请你编程帮克拉拉解决这个问题, 并输出能用物品组成 XX的最多的个数。

输入格式

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

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

输出格式

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

样例

42
23454
2

样例解释

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

169
21891919
1

样例解释

2-“ 1” -8-“ 9” -1-“ 9” -1-9, 可以用(1,9,9)拼成 169, 第一个 9 可以倒过来当 6 使用。 因为每个数字只能用一次, 因此最多只能拼成一个 169。

801
12345678111
0

数据范围

  • 对于 30% 的数据, 1X1001 ≤X ≤ 100, 字符串长度不超过 20;其中 10% 的数据保证X<10X < 10, 另外 10% 的数据保证 XX中不出现 2、 5、6、 9
  • 对于 60% 的数据, 1X10001 ≤ X≤ 1000, 字符串长度不超过 100
  • 对于 100% 的数据, 1X1000001 ≤ X≤ 100000, 字符串长度不超过 200000

来源

2021 NOIP 山东(小学组)