#P3571. 方案数(count)-T5-乙

    ID: 5245 传统题 1000ms 128MiB 尝试: 7 已通过: 5 难度: 2 上传者: 标签>字符串南海区镇赛桂城小学2016B深搜dfs普及−

方案数(count)-T5-乙

题目描述

计时器游戏结束后,晨晨的同学明明取了其中的 KK 个计时器设计出拼数字游戏:明明和晨晨各自把 KK 个计时器排成一行,看谁拼出的数最大。例如:有 K=3K=3 个计时器,上面数字分别是 313133331331,两人拼的方案分别是:3 331 313\ 331\ 31331 31 3331\ 31\ 3。明明拼的数字是 333131333131,晨晨拼的数字是 331313331313,显然明明赢。

明明掌握了拼出最大值的核心算法,晨晨下决心也要研究。不过她首先要编程统计这 KK 个计时器能拼出多少种不同的方案?

注意,现在的计时器更先进,可以显示 4 位数字。

输入格式

第一行:1 个整数 KK。(1K41 \le K \le 4

第二行:KK 个整数,表示 KK 个计时器上的数。(所有数均为大于 0 小于 10000 的整数)

输出格式

一个整数,表示拼成不同数的方案数。

样例 #1

样例输入 #1

3
31 3 331

样例输出 #1

5

样例解释 #1

K=3K=3 时,所有可能的排列共有 3!=63! = 6 种,将每个排列拼接成字符串后去重,结果如下:

  1. 排列 [31,3,331][31, 3, 331] → 拼接为 "313331"
  2. 排列 [31,331,3][31, 331, 3] → 拼接为 "313313"
  3. 排列 [3,31,331][3, 31, 331] → 拼接为 "331331"
  4. 排列 [3,331,31][3, 331, 31] → 拼接为 "333131"
  5. 排列 [331,31,3][331, 31, 3] → 拼接为 "331313"
  6. 排列 [331,3,31][331, 3, 31] → 拼接为 "331331"

去重后,不同的拼接结果有:"313331""313313""331331""333131""331313",共 5 种,因此输出 5。

提示

3 31 3313\ 31\ 331)和(331 3 31331\ 3\ 31)拼出的方案是相同的数 331331331331,只算一种。