結果
問題 | No.167 N^M mod 10 |
ユーザー |
|
提出日時 | 2015-03-19 23:39:05 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,658 bytes |
コンパイル時間 | 753 ms |
コンパイル使用メモリ | 97,404 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-22 01:04:51 |
合計ジャッジ時間 | 1,550 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 27 |
ソースコード
#include <string>#include <vector>#include<iostream>#include<cstdio>#include<cstdlib>#include<stack>#include<queue>#include<cmath>#include<algorithm>#include<functional>#include<list>#include<deque>#include<bitset>#include<set>#include<map>#include<unordered_map>#include<cstring>#include<sstream>#include<complex>#include<iomanip>#include<numeric>#define X first#define Y second#define pb push_back#define rep(X,Y) for (int (X) = 0;(X) < (Y);++(X))#define rrep(X,Y) for (int (X) = (Y-1);(X) >=0;--(X))#define repe(X,Y) for ((X) = 0;(X) < (Y);++(X))#define peat(X,Y) for (;(X) < (Y);++(X))#define all(X) (X).begin(),(X).end()#define rall(X) (X).rbegin(),(X).rend()using namespace std;typedef long long ll;typedef pair<int,int> pii;typedef pair<ll,ll> pll;template<class T> using vv=vector<vector<T>>;template<class T> ostream& operator<<(ostream &os, const vector<T> &t) {os<<"{"; rep(i,t.size()) {os<<t[i]<<",";} os<<"}"<<endl; return os;}template<class S, class T> ostream& operator<<(ostream &os, const pair<S,T> &t) { return os<<"("<<t.first<<","<<t.second<<")";}int main(){ios_base::sync_with_stdio(false);cout<<fixed<<setprecision(0);int i,j,k;string st,str;cin>>st>>str;ll n,m;n=st[st.size()-1]-'0';vector<int> v,usd(10);ll a=1;while(1){if(usd[a])break;usd[a]=1;v.pb(a);a=a*n%10;}ll b=0;while(v[b]!=a)++b;ll r=v.size()-b,m2=0;for(char c:str){m2*=10;m2+=c-'0';m2%=r;}// cout<<v<<b<<","<<m2<<endl;if(str.size()==1 && str[0]-'0'<b)cout<<v[str[0]-'0']<<endl;elsecout<<v[(m2+r-b)%r+b]<<endl;return 0;}