結果

問題 No.2278 Time Bomb Game 2
ユーザー KKT89KKT89
提出日時 2023-04-21 22:42:16
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 1,466 bytes
コンパイル時間 2,717 ms
コンパイル使用メモリ 213,028 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-06 17:06:47
合計ジャッジ時間 4,544 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 69 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef unsigned long long ull;

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll myRand(ll B) {
    return (ull)rng() % B;
}
inline double time() {
    return static_cast<long double>(chrono::duration_cast<chrono::nanoseconds>(chrono::steady_clock::now().time_since_epoch()).count()) * 1e-9;
}

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    int n,k,t; cin >> n >> k >> t;
    string s; cin >> s;
    k--;
    bool win = false;
    int cnt = -1;
    for (int i = k; i >= 0; --i) {
        if (s[i] == s[k]) {
            cnt++;
            if (i == 0) {
                cnt = t+1;
            }
        } else {
            break;
        }
    }
    if (cnt <= t-1) {
        if (cnt%2 == (t-1)%2) win = true;
    }
    cnt = -1;
    for (int i = k; i < n; ++i) {
        if (s[i] == s[k]) {
            cnt++;
            if (i+1 == n) {
                cnt = t+1;
            }
        } else {
            break;
        }
    }
    if (cnt <= t-1) {
        if (cnt%2 == (t-1)%2) win = true;
    }

    if (win) {
        if (s[k] == 'A') {
            cout << "Alice" << endl;
        }
        else {
            cout << "Bob" << endl;
        }
    }
    else {
        if (s[k] == 'B') {
            cout << "Alice" << endl;
        }
        else {
            cout << "Bob" << endl;
        }
    }
}
0