奥奇笑:第三题代码,不知道为啥只能过90% public class Main {
public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(new BufferedReader(new FileReader("test.txt")));
// Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] strs = str.split(":");
int cmd = Integer.valueOf(strs[0]);
if (cmd == 1) {
String num = strs[1].split("_")[1];
System.out.println((Integer.valueOf(num) - 1) * 50);
} else if (cmd == 2) {
int sum = 0;
for (int i = 0; i < strs[1].length(); i++) {
sum += strs[1].charAt(i);
}
int mod = sum % 999;
while (mod % 50 != 0) {
mod++;
mod %= 1000;
}
System.out.println(mod);
} else if (cmd == 3) {
String content = strs[1];
String redis = content.split(";")[0];
String token = content.split(";")[1];
HashSet<Integer> set = new HashSet<>();
String[] redises = redis.split(",");
for (int i = 0; i < redises.length; i++) {
int num = Integer.valueOf(redises[i].split("_")[1]);
set.add((num - 1) * 50);
}
int sum = 0;
for (int i = 0; i < token.length(); i++) {
sum += token.charAt(i);
}
int mod = sum % 999;
while (mod % 50 != 0 || set.contains(mod)) {
mod++;
mod %= 1000;
}
System.out.println(mod);
} else if (cmd == 4) {
String content = strs[1];
int num = Integer.valueOf(content.split("_")[2]);
if (num % 2 == 1) num *= 25;
else num = 500 + (num - 1) * 25;
System.out.println(num);
} else if (cmd == 5) {
String content = strs[1];
String redis = content.split(";")[0];
String token = content.split(";")[1];
HashSet<Integer> set = new HashSet<>();
for (int i = 1; i <= Integer.valueOf(redis.split("_")[2]); i++) {
if (i % 2 == 1) set.add(i * 25);
else set.add(500 + (i - 1) * 25);
}
int sum = 0;
for (int i = 0; i < token.length(); i++) {
sum += token.charAt(i);
}
int mod = sum % 999;
while (mod % 25 != 0 || !set.contains(mod)) {
mod++;
mod %= 1000;
}
System.out.println(mod);
}
}
}