您的位置:首页 > 其它

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

2013-05-29 17:42 134 查看
#include<stdio.h>
#include<string.h>
#define mod 1000000007
int a[10100];
int b[10100];
int multy(int q,int n)
{
int base=q;
int ret =1;
while(n>0)
{
if(n&1)ret=(long long)ret*base%mod;
n>>=1;
base=(long long)base*base%mod;
}
return ret;
}
int main()
{
int _case;
int n,t,k;
int i;
scanf("%d",&_case);
while(_case--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
scanf("%d %d %d",&n,&t,&k);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
int tmp=t;
t=t%n;//a[i]的循环变换
for(i=0;i<n-t;i++)
b[i+t]=a[i];
int j=i;
for(;i<n;i++)
b[i-j]=a[i];
/* for(i=0;i<n;i++)
printf("%d\n",b[i]);*/
int ans=multy(k,tmp);
for(i=0;i<n;i++)
b[i]=(long long)b[i]*ans%mod;
printf("%d",b[0]);
for(i=1;i<n;i++)
printf(" %d",b[i]);
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: