結果
| 問題 |
No.2278 Time Bomb Game 2
|
| コンテスト | |
| ユーザー |
ks2m
|
| 提出日時 | 2023-04-21 23:04:10 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,544 bytes |
| コンパイル時間 | 2,124 ms |
| コンパイル使用メモリ | 78,056 KB |
| 実行使用メモリ | 764,208 KB |
| 最終ジャッジ日時 | 2024-11-06 16:30:49 |
| 合計ジャッジ時間 | 8,207 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 6 WA * 2 TLE * 1 MLE * 1 -- * 60 |
ソースコード
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 {
char res = dfs(k - 1, t - 1, k);
if (res == c) {
return c;
}
res = dfs(k + 1, t - 1, k);
if (res == c) {
return c;
}
}
if (s[k] == 'A') {
return 'B';
} else {
return 'A';
}
}
}
ks2m