题目 1708

无限链计数

查看题解 ↗GitHub ↗如何评测
题号
1708
时间限制
3000 ms
内存限制
256 MB
标签
字符串
来源
信息学奥赛一本通 · 高手训练篇·二、字符串算法(高手训练)

【题目描述】

你可以用前tt个小写字母来组成两段都无限长的链,要求这些链中不能出现nn个给定的串中的任何一个,请问有多少个满足条件的不同的无限链呢?两个相同的两端均无限长的链AA和BB需要满足的条件为A[i+k]=B[i]A[i+k]=B[i]对于任意的ii都成立,其中kk为任意整数。 例如t=2t=2,给定串为{ab,ba}\{ab,ba\},那么只有…aaa……aaa…与…bbb……bbb…两个,如果给定串为{ab}\{ab\},则有…aaa…,…bbb…,…bbbbaaa……aaa…,…bbb…,…bbbbaaa…三个。

【输入】

第一行两个整数tt和nn,含义如题所述。 接下来nn行每行一个字符串表示一个不能出现的串。

【输出】

输出一行一个整数表示答案,如果有无限多个输出−1-1,保证答案不超过231−12^{31}-1。

【输入样例】

文本
2 2
ab
ba

【输出样例】

文本
2

【提示】

【数据规模与约定】 对于20%的数据,t≤2,n=1t≤2,n=1; 对于另外30%的数据,t≤2t≤2; 对于100%的数据,n≤1000,t≤6n≤1000,t≤6,每个给定的串长度不超过1010。

数据下载

题目 1708 的公开数据

正在读取文件列表…

常用命令

题目 1708 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。