#P14632. [IATI2020 Day2]alpha

    ID: 13848 传统题 2000ms 150MiB 尝试: 1 已通过: 1 难度: 5 上传者: 标签>CF1800搜索回溯法枚举分治双向搜索状压DP计数DP

[IATI2020 Day2]alpha

题目描述

Elly 的英语班里恰好有 26 名学生,人数与英文字母表大小相同。

游戏规则如下:按学生编号从小到大,每个学生从自己的名字中选出一个字母说出来。
例如:

  • ELLY 可以说 ELY 中的任意一个;
  • KRISS 可以说 KRIS 中的任意一个;
  • STAN 可以说 STAN 中的任意一个。

若一个名字中某个字母重复出现多次,那么无论选择哪一次,听到的字母都相同,因此只按“可选字符集合”理解即可。

老师希望最后 26 名学生说出的 26 个字母 恰好组成英文字母表的一个排列,也就是说每个字母 A..Z 都恰好出现一次。

请你计算:一共能够组成多少种不同的字母排列。


输入格式

输入共 26 个仅由大写英文字母组成的字符串 S_i,表示按编号顺序给出的 26 个学生名字。

每个名字长度不超过 5,不同学生名字可以相同。


输出格式

输出一个整数,表示可以形成的不同字母排列总数。

题目保证答案小于 10^18


数据范围

  • 恰有 26 个字符串
  • 1 <= |S_i| <= 5

子任务与评分

  • 20% 的测试满足:1 <= |S_i| <= 3
  • 50% 的测试满足:1 <= |S_i| <= 4

样例 #1

输入 #1

ELLY KRISS STAN WU ALEX ZOE POOH
KATE VILI MAXIM QT G ZAEK BOBI TEO
YOYO DEQN FIL CECO DAWG JORO MONI
SASHO DUDA VESKO POOH

输出 #1

1592

样例 #2

输入 #2

ESPR SHUM ENNN BULG ARIA YOU HAVE TO
SOLVE HARD TASKS WHO WILL WIN THIS
TIME CDFMQ CEFHJ GIOTV JOSUW CRVWX
KMSYZ HQRUZ DGWXY BMRTU MUXYZ

输出 #2

48627

说明

对于样例 1,部分可行排列包括:

ERAULOHKIXQGZBTYNFCWJMSDVP
LRNWXEHAVITGZBOYQFCDJMSUKP
YRTWXZPKLMQGABEONFCDJISUVH