Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
100831 | 赵德明 | [HNOI2008]越狱 | C++ | 通过 | 100 | 0 MS | 248 KB | 1457 | 2023-09-05 14:00:33 |
#include<bits/stdc++.h> using namespace std; int fastpow(int a,int b,int mod){ int num=1; for(int i=1;i<=b;i++){ num*=a; num%=mod; } return num; } long long int fastpow3(long long int a,long long int b,int mod){ long long int temp; if(b==1) return a; if(b&1) { temp = fastpow3(a,(b-1)/2,mod); return (temp*temp*a)%mod; } else{ temp = fastpow3(a,(b)/2,mod); return (temp*temp)%mod; } } long long int fastpow2(long long int a,long long int b,int mod){ long long int result = 1; while(b>0){ if(b&1){ result = (result*a)%mod; } b = b/2; a = (a*a)%mod; } return result%mod; } int main(){ int modc=100003; long long int m,n; cin>>m>>n; int a=(fastpow3(m,n,modc))%modc; int b=(fastpow3(m-1,n-1,modc)*m)%modc; cout<<(a+modc-b)%modc; return 0; }/*#include<bits/stdc++.h> using namespace std; struct golden{ int id,pri,next[1005],end; }; golden g[1005]; int stf(int iid,int sum){ if(g[iid].end==0) return g[iid].pri+sum; for(int i=1;i<=g[iid].end;i++){ return stf(g[iid].next[i],sum+g[iid].pri); } } int main(){ int n,t,t2,temp=0,maxx=0; cin>>n; for(int i=1;i<=n;i++){ cin>>t; g[i].pri=t; } for(int i=1;i<=n;i++){ cin>>t; while(cin>>t2){ temp++; g[t].next[temp]=t2; } g[t].id=t; g[t].end=temp; temp=0; } for(int i=1;i<=n;i++){ maxx=max(maxx,stf(1,0)); } cout<<maxx; return 0; }*/