結果

問題 No.1004 サイコロの実装 (2)
ユーザー hebihebi
提出日時 2020-03-09 00:27:31
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 737 bytes
コンパイル時間 1,512 ms
コンパイル使用メモリ 166,884 KB
実行使用メモリ 13,640 KB
最終ジャッジ日時 2024-11-07 20:19:53
合計ジャッジ時間 11,211 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 6 WA * 20 TLE * 2 -- * 10
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < n; i++)
using namespace std;
using ll = long long;
using P = pair<int, int>;

unsigned int dice(unsigned int a, unsigned int b, unsigned int &x) {
    x = a * x + b;
    return x;
}

int main() {
    unsigned int a, b, x;
    int64_t n;
    cin >> a >> b >> x >> n;
    int64_t v[2][2] = {{0, 0}, {0, 0}}; // v[i][j] i=0なら高橋 1なら青木
                                    // j=0:位置 j=1:黒の個数
    rep(i,2*n) {
        unsigned int xi = dice(a, b, x) % 6 + 1;
        v[i%2][0] += xi;
        v[i%2][1] += xi % 2;
    }
    int64_t ans_a = min(n-v[0][1], v[0][1]);
    int64_t ans_b = min(n-v[1][1], v[1][1]);
    cout << ans_a << " " << ans_b << endl;
}
0