結果
問題 |
No.2079 aaabbc
|
ユーザー |
👑 |
提出日時 | 2022-09-04 11:21:04 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,061 ms / 2,000 ms |
コード長 | 977 bytes |
コンパイル時間 | 1,976 ms |
コンパイル使用メモリ | 192,424 KB |
最終ジャッジ日時 | 2025-02-07 02:33:50 |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 11 |
ソースコード
// 嘘解法チェックその2 #include<bits/stdc++.h> using namespace std; using ll = long long; #define CIN( LL , A ) LL A; cin >> A #define FOR( VAR , INITIAL , FINAL_PLUS_ONE ) for( ll VAR = INITIAL ; VAR < FINAL_PLUS_ONE ; VAR ++ ) #define RETURN( ANSWER ) cout << ( ANSWER ) << "\n"; return 0 constexpr const ll P = 998244353; int main(){ CIN( ll , N ); N %= P - 1; if( N == 0 ){ RETURN( 1 ); } ll pf[30]; ll num = 0; ll p = 2; if( N % p == 0 ){ pf[num] = p; num++; N /= p; while( N % p == 0 ){ pf[num] = p; num++; N /= p; } } p++; while( N != 1 ){ if( N % p == 0 ){ pf[num] = p; num++; N /= p; while( N % p == 0 ){ pf[num] = p; num++; N /= p; } } p += 2; } ll answer = 3; FOR( i , 0 , num ){ ll& pfi = pf[i]; ll power = 1; FOR( j , 0 , pfi ){ power = ( power * answer ) % P; } answer = power; } RETURN( answer ); }