結果
問題 | No.167 N^M mod 10 |
ユーザー |
|
提出日時 | 2020-06-27 11:27:58 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 1,000 ms |
コード長 | 1,572 bytes |
コンパイル時間 | 825 ms |
コンパイル使用メモリ | 96,360 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-05 09:00:43 |
合計ジャッジ時間 | 1,764 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 27 |
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:76:17: warning: 'lp' may be used uninitialized [-Wmaybe-uninitialized] 76 | ll mo = bigMod(m, lp); | ~~~~~~^~~~~~~ main.cpp:62:16: note: 'lp' was declared here 62 | int tn = nn, lp; | ^~
ソースコード
#include <iostream>#include <iomanip>#include <cstdio>#include <queue>#include <cstring>#include <vector>#include <map>#include <algorithm>#include <cctype>#include <cmath>#include <bitset>#include <set>#include <stack>using namespace std;#define REP(i,n) for(int i=0;i<(int)(n);i++)#define RREP(i,n) for(int i=n-1;i>=0;i--)#define FOR(i,k,n) for(int i=(k);i<(int)(n);i++)#define all(i,n) (i),(i+n)int dx4[4]={1,0,-1,0};int dy4[4]={0,-1,0,1};int dx8[8]={1,0,-1,1,-1,1,0,-1};int dy8[8]={1,1,1,0,0,-1,-1,-1};int dx9[9]={0,1,0,-1,1,-1,1,0,-1};int dy9[9]={0,1,1,1,0,0,-1,-1,-1};typedef pair<int, int> P;typedef pair<string, int> SP;typedef long long ll;typedef pair<ll, ll> PLL;const int INF = 1e9;const ll LLINF = 1e18;const int MAX_V = 1e6+1;const ll mod = 1000000007;// << fixed << setprecision// --------------------------------------string n, m;ll bigMod(string s, ll mod){int tmp=0;FOR(i, 0, s.size()){tmp = (tmp*10+s[i]-'0') % mod;}return tmp;}int main() {cin.tie(0);ios::sync_with_stdio(false);cin >> n >> m;int nn = n[n.size() - 1] - '0';int used[10];REP(i, 10) used[i] = -1;vector<int> v;used[nn] = 0;v.push_back(nn);int tn = nn, lp;REP(i, 10) {tn = (tn * nn) % 10;if(used[tn] == -1) {v.push_back(tn);used[tn] = i + 1;} else {lp = (i + 1) - used[tn];break;}}ll mo = bigMod(m, lp);mo = ((mo - 1) + lp) % lp;if(m.size() == 1 && m[0] - '0' == 0) cout << 1 << endl;else cout << v[mo] << endl;}