比赛 2024暑假C班集训7 评测结果 AAAAAAATTTTTTTTTTTTT
题目名称 游戏 最终得分 35
用户昵称 123 运行时间 26.020 s
代码语言 C++ 内存使用 3.50 MiB
提交时间 2024-07-07 10:17:07
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=1000010,Mod=19930726;
int n,k,cnt=0,flag;
long long ret=1;
char s[N];
int check(int l,int r)
{
    for (int i=l;i<=(l+r)/2;i++)
    {
        if (s[i]!=s[r-(i-l)])
        {
            return 0;
        }
    }
    return 1;
}
int main() {
    freopen("rehearse.in","r",stdin);
    freopen("rehearse.out","w",stdout);
    scanf("%d%d%s",&n,&k,s);
    int now=(n+1)/2*2-1;
    while (now>0)
    {
        for (int i=0;i<n-now+1;i++)
        {
            if (check(i,i+now-1))
            {
                ret=ret*now%Mod;
                cnt++;
                if (cnt==k)
                {
                    now=-1;
                    flag=1;
                    break;
                }
            }
        }
        now-=2;
    }
    if (flag)
    {
        cout<<ret;
    }
    else
    {
        cout<<-1;
    }
}