結果
問題 | No.251 大きな桁の復習問題(1) |
ユーザー |
|
提出日時 | 2021-05-03 02:17:05 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 52 ms / 5,000 ms |
コード長 | 676 bytes |
コンパイル時間 | 1,750 ms |
コンパイル使用メモリ | 194,088 KB |
最終ジャッジ日時 | 2025-01-21 06:09:14 |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <bits/stdc++.h>using namespace std;const long long MOD = 129402307;long long modpow(long long x, long long p, long long mod) {long long ret = 1;while (p) {if (p & 1)ret = ret * x % mod;x = x * x % mod;p >>= 1;}return ret;}long long convert(const string &s, long long mod) {long long x = 0;for (char c: s) {x = 10 * x + (c - '0');x %= mod;}return x;}int main() {ios_base::sync_with_stdio(0);cin.tie(0);string n, m;cin >> n >> m;long long x = convert(n, MOD);long long y = convert(m, MOD-1);if (m != "0")y += MOD - 1;cout << modpow(x, y, MOD) << endl;return 0;}