16藍橋杯--JAVA語言C組-第10題-密碼脫落
阿新 • • 發佈:2019-01-22
X星球的考古學家發現了一批古代留下來的密碼。
這些密碼是由A、B、C、D 四種植物的種子串成的序列。
仔細分析發現,這些密碼串當初應該是前後對稱的(也就是我們說的映象串)。
由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。
你的任務是:
給定一個現在看到的密碼串,計算一下從當初的狀態,它要至少脫落多少個種子,才可能會變成現在的樣子。
輸入一行,表示現在看到的密碼串(長度不大於1000)
要求輸出一個正整數,表示至少脫落了多少個種子。
例如,輸入:
ABCBA
則程式應該輸出:
0
再例如,輸入:
ABDCDCBABC
則程式應該輸出:
3
import java.util.Scanner;
public class Main {
static int min=0,num=0;
static String inputstr;
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
inputstr=scanner.next();
min=inputstr.length();
fcode(0, min-1, 0);
System.out.println(min);
}
public static void fcode(int left,int right,int num){
if (left>=right) {
min=min<num?min:num;
}else {
if (inputstr.charAt(left)==inputstr.charAt(right))
fcode(left+1, right-1, num);
else {
fcode(left+1, right, num+1 );
fcode(left, right-1, num+1);
}
}
return;
}
}