• 2047 Palindrome

    时间限制 : 6000/3000 MS(Java/Others) | 内存限制 : 131072/65536 KB(Java/Others)

    提交数 : 15 | 通过数 : 8

    题目描述

    A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a program which, given a string, determines the minimal number of characters to be inserted into the string in order to obtain a palindrome. 
    
    As an example, by inserting 2 characters, the string "Ab3bd" can be transformed into a palindrome ("dAb3bAd" or "Adb3bdA"). However, inserting fewer than 2 characters does not produce a palindrome.

    输入要求

    Your program is to read from standard input. The first line contains one integer: the length of the input string N, 3 <= N <= 5000. The second line contains one string with length N. The string is formed from uppercase letters from 'A' to 'Z', lowercase letters from 'a' to 'z' and digits from '0' to '9'. Uppercase and lowercase letters are to be considered distinct.

    输出要求

    Your program is to write to standard output. The first line contains one integer, which is the desired minimal number.

    输入样例

    5
    Ab3bd

    输出样例

    2

    提示


    来源

    IOI 2000

    [ 返回顶端 ] | [ 代码提交 ] | [ 统计数据 ] | [ 历史提交 ]