AC,大致思路就是算一下该字符串能组成的最大回文长度,然后按差值奇偶性输出胜利者,本来以为“最优策略”的删除任意一个字符会很复杂,但是试了下就过了。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = Integer.parseInt(sc.nextLine());
for(int i = 0;i
String word = sc.nextLine();
int n = word.length();
int len = huiLen(word);
int num = Math.abs(len - n);
if(num == 0){
System.out.println("Cassidy");
}else if(num % 2 == 0){
System.out.println("Cassidy");
}else{
System.out.println("Eleanore");
}
}
}
public static int huiLen(String str) {
int[] cnt = new int[58];
for(char c : str.toCharArray()){
cnt[c - 'A']++;
}
int res = 0;
for(int i = 0;i
res += cnt[i] - (cnt[i] & 1);
}
return res
}
} 第三题