結果
| 問題 |
No.2278 Time Bomb Game 2
|
| コンテスト | |
| ユーザー |
ks2m
|
| 提出日時 | 2023-04-21 23:46:06 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,716 bytes |
| コンパイル時間 | 3,924 ms |
| コンパイル使用メモリ | 76,772 KB |
| 実行使用メモリ | 69,032 KB |
| 最終ジャッジ日時 | 2024-11-06 17:08:16 |
| 合計ジャッジ時間 | 12,253 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 65 WA * 5 |
ソースコード
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
static int n;
static char[] s;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] sa = br.readLine().split(" ");
n = Integer.parseInt(sa[0]);
int k = Integer.parseInt(sa[1]) - 1;
int t = Integer.parseInt(sa[2]);
s = br.readLine().toCharArray();
br.close();
char res = dfs(k, t, -2);
if (res == 'A') {
System.out.println("Alice");
} else {
System.out.println("Bob");
}
}
static char dfs(int k, int t, int p) {
if (t == 0) {
if (s[k] == 'A') {
return 'B';
} else {
return 'A';
}
}
char c = s[k];
if (t % 2 == 1) {
if (p != k - 1 && k > 0) {
char l = s[k - 1];
if (l != c) {
if (k == 1 || s[k - 2] == c) {
return c;
}
if (k < n - 1 && s[k + 1] == c) {
return c;
}
}
char res = dfs(k - 1, t - 1, k);
if (res == c) {
return c;
}
}
if (p != k + 1 && k < n - 1) {
char r = s[k + 1];
if (r != c) {
if (k == n - 2 || s[k + 2] == c) {
return c;
}
if (k > 0 && s[k - 1] == c) {
return c;
}
}
char res = dfs(k + 1, t - 1, k);
if (res == c) {
return c;
}
}
} else {
if (k > 0 && s[k - 1] == c ||
k < n - 1 && s[k + 1] == c) {
if (p != k - 1 && k > 1) {
char res = dfs(k - 1, t - 1, k);
if (res == c) {
return c;
}
}
if (p != k + 1 && k < n - 2) {
char res = dfs(k + 1, t - 1, k);
if (res == c) {
return c;
}
}
}
}
if (s[k] == 'A') {
return 'B';
} else {
return 'A';
}
}
}
ks2m