首页 > 代码库 > hdu 4506 小明系列故事——师兄帮帮忙

hdu 4506 小明系列故事——师兄帮帮忙

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4506

题目大意;找规律,判断k的t次幂前面的系数。

 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4  5 __int64 fun(__int64 a,__int64 b) 6 { 7     __int64 s=1; 8     while (b) 9     {10         if (b%2==1)11             s=s*a%1000000007;12         a=a*a%1000000007;13         b>>=1;14     }15     return s%1000000007;16 }17 18 int main ()19 {20     int T;21     __int64 a[10100];22     scanf("%d",&T);23     while (T--)24     {25         __int64 n,t,k;26         scanf("%I64d%I64d%I64d",&n,&t,&k);27         k=fun(k,t);28         for (int i=0; i<n; i++)29         {30             scanf("%I64d",&a[i]);31             a[i]=a[i]*k%1000000007;32         }33         t%=n;34         printf("%I64d",a[(n+0-t)%n]);35         for(int i=1; i<n; i++)36             printf(" %I64d",a[(n+i-t)%n]);37         printf ("\n");38     }39     return 0;40 }