B

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char s[10005];

int main()
{
    int t;
    int len ,k;
    int i, j;
    int cnt;

    scanf("%d%*c", &t);
    while(t--)
    {
        memset(s, '', sizeof(s));
        scanf("%s", s);
        //puts(s);
        scanf("%d", &k);
        len = strlen(s);

        cnt=0;
        if(k*2 <= len)
        {
            i=0;
            j=len-k;
            while(i<k)
            {
                if(s[i]!=s[j] )
                {
                    cnt++;
                }
                i++;
                j++;
            }
            printf("%d
", cnt ) ;
            continue;
        }
        else
        {
            i = 0;
            j = len-k;
            while(i<k)
            {
                if( s[i]==s[j] )
                {
                    i++;
                    j++;
                }
                else
                {
                    if( s[j]==s[j+j-i] )
                    {
                        s[i] = s[j];
                        cnt++;
                        i++;
                        j++;
                    }
                    else
                    {
                        s[j]=s[i];
                        i++;
                        j++;
                        cnt++;
                    }
                }
            }
            printf("%d
", cnt );
            continue;
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/yspworld/p/3971052.html