YZOJ P4258 [FJWC2019]原样输出
时间限制:4000MS 内存限制:262144KB
出题人:E.Space
难度:\(7.0\)
-
题目描述
它会把输入按行读入,原封不动地复制到输出中去。
但是在一次更新以后,它的程序出了一些问题。
它没法输出换行符了。
并且,读入的时候,总会莫名其妙地随机漏掉开头和结尾的若干个字符,甚至整行都会漏掉。
比如 orzxxxxx
可能会变成 rzxx
、orz
、x
或者空串。
现在你找到一份输入文件丢给它,你想知道它的输出可能有多少种情况,以及每种情况分别是什么。
由于你找到的输入文件全部来自之前的福建省选,所以所有的输入文件每行只可能包含 A
、C
、G
、T
四种字符。
-
输入格式
第一行一个正整数 \(n\),表示(题面中)输入文件的行数。
接下来 \(n\) 行,表示输入文件的内容。保证这 \(n\) 行中每行的每个字符是 A
、C
、G
、T
四种字符中的一种。
接下来一个整数 \(k, (0 \leq k \leq 1)\),具体含义详见输出格式。
-
输出格式
若 \(k=0\),你需要输出一行,表示输出的可能情况个数模 \(10^9+7\) 的结果。
若 \(k=1\),你需要按照字典序从小到大输出所有可能的输出情况,一行一个字符串,最后一行输出输出的可能情况个数模 \(10^9+7\) 的结果。
-
样例输入
1 2 3 4 5 |
3 AC CC AA 1 |