結果
問題 |
No.167 N^M mod 10
|
ユーザー |
![]() |
提出日時 | 2016-10-24 07:54:10 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,658 bytes |
コンパイル時間 | 1,196 ms |
コンパイル使用メモリ | 159,748 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-24 02:40:04 |
合計ジャッジ時間 | 2,080 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 21 WA * 6 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vint; typedef pair<int,int> pint; typedef vector<pint> vpint; #define rep(i,n) for(int i=0;i<(n);i++) #define reps(i,f,n) for(int i=(f);i<(n);i++) #define all(v) (v).begin(),(v).end() #define pb push_back #define mp make_pair #define fi first #define se second #define chmax(a, b) a = (((a)<(b)) ? (b) : (a)) #define chmin(a, b) a = (((a)>(b)) ? (b) : (a)) int main(void){ string n, m; cin >> n >> m; int num = n[n.size() - 1] - '0'; if(m == "0"){ printf("1\n"); return 0; } int f = m[m.size() - 1] - '0'; int ff; if("0" <= m && m <= "9"){ ff = m[m.size() - 1] - '0'; }else{ ff = (m[m.size() - 2] - '0') * 10 + (m[m.size() - 1] - '0'); } if(num == 0 || num == 1 || num == 5 || num == 6){ printf("%d\n", num); }else if(num == 4){ if(f % 2 == 0) printf("6\n"); else printf("4\n"); }else if(num == 9){ if(f % 2 == 0) printf("1\n"); else printf("9\n"); }else if(num == 2){ if(ff % 4 == 1) printf("2\n"); else if(ff % 4 == 2) printf("4\n"); else if(ff % 4 == 3) printf("8\n"); else if(ff % 4 == 0) printf("6\n"); }else if(num == 3){ if(ff % 4 == 1) printf("3\n"); else if(ff % 4 == 2) printf("9\n"); else if(ff % 4 == 3) printf("7\n"); else if(ff % 4 == 0) printf("1\n"); }else if(num == 7){ if(ff % 4 == 1) printf("7\n"); else if(ff % 4 == 2) printf("9\n"); else if(ff % 4 == 3) printf("3\n"); else if(ff % 4 == 0) printf("1\n"); }else if(num == 8){ if(ff % 4 == 1) printf("8\n"); else if(ff % 4 == 2) printf("4\n"); else if(ff % 4 == 3) printf("2\n"); else if(ff % 4 == 0) printf("6\n"); } return 0; }