fork download
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. //import java.util.Arrays;
  5.  
  6.  
  7. class AIBOHP {
  8. static int ans[][];
  9. /**
  10. * @param args
  11. * @throws IOException
  12. * @throws NumberFormatException
  13. */
  14. public static void main(String[] args) throws NumberFormatException, IOException {
  15. // TODO Auto-generated method stub
  16. int t=Integer.parseInt(br.readLine());
  17. StringBuilder sbu=new StringBuilder();
  18. while(t-->0){
  19. //StringBuilder xx=new StringBuilder();
  20. //for(int i=0;i<6100;i++)xx.append("a");
  21. StringBuilder sb=new StringBuilder(br.readLine());
  22. //StringBuilder sb=new StringBuilder(xx);
  23. String rev=sb.reverse().toString();
  24. //System.out.println(sb+" "+rev);
  25. sbu.append(sb.length()-LCS(sb.reverse().toString(), rev)).append("\n");
  26. }
  27. System.out.println(sbu);
  28. }
  29. public static int LCS(String a,String b){
  30. ans=new int[a.length()+1][b.length()+1];
  31. for(int i=1;i<ans.length;i++){
  32. for(int j=1;j<ans[i].length;j++){
  33. if(a.charAt(i-1)==b.charAt(j-1)){
  34. ans[i][j]=ans[i-1][j-1]+1;
  35. }
  36. else ans[i][j]=Math.max(ans[i-1][j],ans[i][j-1]);
  37. }
  38. }
  39. //for(int i=0;i<ans.length;i++)System.out.println(Arrays.toString(ans[i]));
  40. return ans[a.length()][b.length()];
  41. }
  42. }
  43.  
Success #stdin #stdout 0.07s 380160KB
stdin
1
fft
stdout
1