CF1634A.Reverse and Concatenate
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Real stupidity beats artificial intelligence every time.
— Terry Pratchett, Hogfather, Discworld
You are given a string s of length n and a number k . Let's denote by rev(s) the reversed string s (i.e. rev(s)=snsn−1...s1 ). You can apply one of the two kinds of operations to the string:
- replace the string s with s+rev(s)
- replace the string s with rev(s)+s
How many different strings can you get as a result of performing exactly k operations (possibly of different kinds) on the original string s ?
In this statement we denoted the concatenation of strings s and t as s+t . In other words, s+t=s1s2...snt1t2...tm , where n and m are the lengths of strings s and t respectively.
输入格式
The first line contains one integer t ( 1≤t≤100 ) — number of test cases. Next 2⋅t lines contain t test cases:
The first line of a test case contains two integers n and k ( 1≤n≤100 , 0≤k≤1000 ) — the length of the string and the number of operations respectively.
The second string of a test case contains one string s of length n consisting of lowercase Latin letters.
输出格式
For each test case, print the answer (that is, the number of different strings that you can get after exactly k operations) on a separate line.
It can be shown that the answer does not exceed 109 under the given constraints.
输入输出样例
输入#1
4 3 2 aab 3 3 aab 7 1 abacaba 2 0 ab
输出#1
2 2 1 1
说明/提示
In the first test case of the example:
After the first operation the string s can become either aabbaa or baaaab. After the second operation there are 2 possibilities for s : aabbaaaabbaa and baaaabbaaaab.