解题思路:
注意事项:
参考代码:
import java.util.Scanner; public class T1467 { public static boolean IsPossible(String str) { boolean ans = true; int []cnt = new int[26]; int odds=0; for(int i = 0;i<str.length();i++) cnt[str.charAt(i)-'a']++; for(int i = 0;i<26;i++) if(cnt[i]%2==1) odds++; if(odds>1) ans=false; return ans; } public static int getResult(String str) { if(str.length()==1 || str.length()==2) return 0; int tmp = str.lastIndexOf(str.charAt(0)); if(tmp==0) return str.length()/2 + getResult(str.substring(1,str.length())); else { StringBuilder sb = new StringBuilder(str); sb.deleteCharAt(tmp); sb.deleteCharAt(0); return str.length()-tmp-1+getResult(sb.toString()); } } public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) { int n = in.nextInt(); String str = in.next(); if(IsPossible(str)) System.out.println(getResult(str)); else System.out.println("Impossible"); } in.close(); } }
0.0分
2 人评分
简单的a+b (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:756 |
简单的a+b (C语言代码)浏览:694 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1362 |
wu-理财计划 (C++代码)浏览:837 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:474 |
文科生的悲哀 (C语言代码)浏览:1401 |
矩形面积交 (C++代码)浏览:1130 |
DNA (C语言代码)浏览:750 |
1050题解(结构体数组与结构体指针的使用)浏览:1111 |