/****
神解法。。未看懂。
*******/
#include
#include
using namespace std;
char buf[20];
int n;
bool cmp(char s[],int i,int j){
for(int k=0;s[i+k] && s[j+k] ; k++){
if(s[i+k] != s[j+k]) return false;
}
return true;
}
long long solve(){
long long res = 0;
for(int i=0;buf[i];i++){
if(cmp(buf,0,i)) res++;
res *= n;
}
return res;
}
int main(){
int T,nCase = 1;
scanf("%d",&T);
while(T--){
scanf("%d %s",&n,buf);
printf("Case %d:\n%lld\n",nCase++,solve());
if(T) printf("\n");
}
return 0;
}
/*****
5
2 A
2 ABA
3 AAAAA
26 ACMICPC
26 ZJUZJU
*******/
uvalive 3490
最新推荐文章于 2017-09-20 10:43:15 发布