zoukankan      html  css  js  c++  java
  • CodeForces

    You are given a string tt consisting of nn lowercase Latin letters and an integer number kk .

    Let's define a substring of some string ss with indices from ll to rr as s[lr]s[l…r] .

    Your task is to construct such string ss of minimum possible length that there are exactly kk positions ii such that s[ii+n1]=ts[i…i+n−1]=t . In other words, your task is to construct such string ss of minimum possible length that there are exactly kk substrings of ss equal to tt .

    It is guaranteed that the answer is always unique.

    Input

    The first line of the input contains two integers nn and kk (1n,k501≤n,k≤50 ) — the length of the string tt and the number of substrings.

    The second line of the input contains the string tt consisting of exactly nn lowercase Latin letters.

    Output

    Print such string ss of minimum possible length that there are exactly kk substrings of ss equal to tt .

    It is guaranteed that the answer is always unique.

    Examples

    Input
    3 4
    aba
    Output
    ababababa
    Input
    3 2
    cat
    Output
    catcat
    #include <cstdio>
    #include <iostream>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <queue>
    using namespace std;
    int main()
    {
        int n, k, miao;
        string s, t;
        while(~scanf("%d%d", &n, &k) && (n+k))
        {
            cin >> s;
            miao = 0;
            for(int i = 1; i<n; i++)
            {
                t = s.substr(i);
                if(s.find(t) == 0)
                {
                    miao = i;
                    break;
                }
            }
            if(miao)
            {
                string root = s.substr(0, miao);
                for(int i = 0; i<k; i++)
                {
                    cout << root;
                }
                cout << t << '
    ';
            }
            else
            {
                for(int i = 0; i<k; i++)
                {
                    cout << s;
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    浅谈MVP与ModelViewViewModel(MVVM)设计模式
    策略模式
    C#验证码
    如何招到烂程序员
    承载和使用WCF服务
    .NET Remoting 使用总结
    基于.Net Remoting的应用程序
    HTML5 是什么?
    关于HTTP及XMLHTTP状态代码一览
    Remoting多个信道(Chennel)的注册问题
  • 原文地址:https://www.cnblogs.com/RootVount/p/10467406.html
Copyright © 2011-2022 走看看