結果
問題 | No.403 2^2^2 |
ユーザー |
![]() |
提出日時 | 2019-04-15 06:04:57 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 887 bytes |
コンパイル時間 | 401 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-21 22:54:48 |
合計ジャッジ時間 | 1,245 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
// yukicoder: No.403 2^2^2 // 2019.4.15 bal4u #include <stdio.h> #include <ctype.h> #if 0 #define gc() getchar_unlocked() #else #define gc() getchar() #endif long long in() // 非負整数の入力 { long long n = 0; int c = gc(); do n = 10 * n + (c & 0xf), c = gc(); while (isdigit(c)); return n; } #define MOD 1000000007 int bigPow(int x, long long p, int mod) { int r = 1; while (p) { if (p & 1) r = (long long)r * x % mod; x = (long long)x * x % mod; p >>= 1; } return r; } int main() { long long A, B, C, t; int ans1, ans2; A = in(), B = in(), C = in(); if (A == 1) { puts("1 1"); return 0; } A %= MOD; if (A == 0) { puts("0 0"); return 0; } t = ((B % (MOD - 1))*(C % (MOD - 1))) % (MOD - 1); ans1 = bigPow((int)A, t, MOD); B %= MOD - 1; t = bigPow((int)B, C, MOD - 1); ans2 = bigPow((int)A, t, MOD); printf("%d %d\n", ans1, ans2); return 0; }