HDU 2817 EASY题
#include <iostream> #include <cstdio> using namespace std; const __int64 MOD=200907; __int64 Power(__int64 a,__int64 b,__int64 m){ a%=m; __int64 ans=1; while(b){ if(b&1){ ans=(ans*a)%MOD; } b=b>>1; a=(a*a)%MOD; } return ans; } int main(){ __int64 a,b,c,k; int t; scanf("%d",&t); while(t--){ scanf("%I64d%I64d%I64d%I64d",&a,&b,&c,&k); if(b-a==c-b){ __int64 tmp=b-a; printf("%I64d\n",(a%MOD+((k-1)%MOD)*(tmp%MOD))%MOD); } else{ __int64 tmp=b/a; printf("%I64d\n",(a*Power(tmp,k-1,MOD)%MOD)); } } return 0; }