1. 程式人生 > >16藍橋杯--JAVA語言C組-第10題-密碼脫落

16藍橋杯--JAVA語言C組-第10題-密碼脫落

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; } }