HDU-항 저 우 전기-4506-샤 오 밍 시리즈 이야기-사형 도움-빠 른 속도 로 모델 링

8509 단어 HDU
샤 오 밍 시리즈 이야기--사형 도와 주세요
Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 3502    Accepted Submission(s): 894



Problem Description
샤 오 밍 은 ACM/ICPC 와 작별 한 후부 터 수학 문 제 를 연구 하기 시작 했다.하 나 는 다음 의 대학원 시험 준 비 를 할 수 있 고 이 기 회 를 빌려 일부 학우,특히 예 쁜 사 매 를 도 울 수 있다.아니,반 에서 유일한 여학생 이 또 하나의 수학 문 제 를 가지 고 샤 오 밍 에 게 물 었 는데 샤 오 밍 은 당연히 기뻐 서 받 아 들 였 다.그러나 그 가 문 제 를 자세히 읽 은 후에 자신 도 할 줄 모른다 는 것 을 알 게 되 었 다.이번 에는 샤 오 밍 이 멘 붕 이 왔 다.만약 에 자신 이 모른다 고 대답 하면 체면 이 없 지 않 겠 는가?그래서 그 는 지금 개인 적 으로 당신 에 게 이 문 제 를 해결 해 달라 고 부탁 하고 있 습 니 다.문 제 는 다음 과 같 습 니 다.n 개의 숫자 를 드 리 겠 습 니 다.각각 a1,a2,a3,a4,a5.그러면 이 단위 시간의 숫자 a[i]=a[i-1]*K(i==1 일 때 a[1]=a[n]*K),그 중에서 K 는 주어진 계수 이다.지금 문 제 는 t 단위 의 시간 을 구 할 때 이 n 개의 숫자 가 뭐 가 되 었 느 냐 는 것 이다.숫자 가 많 을 수 있 으 므 로 10^9+7 의 결 과 를 출력 하기 만 하면 됩 니 다.
 
 
  
Input
  输入数据第一行是一个正整数T,表示有T组测试数据;   每组数据有两行,第一行包含输入三个整数n, t, k,其中n代表数字个数,t代表第t个单位时间,k代表系数;第二行输入n个数字ai,代表每个数字开始的时候是多少。    [Technical Specification]   T <= 100   1 <= n <= 10 ^ 4   0 <= t <= 10 ^ 9  其中 t = 0 表示初始状态   1 <= k <= 10 ^ 9   1 <= ai<= 10 ^ 9
 
 
  
Output
  对于每组数据请输出第t单位时间后这n个数字变成了什么,输出的时候 每两个数字之间输出一个空格,行末不要输出多余的空格,具体见样例。
 
 
  
Sample Input
2 3 2 5 1 2 3 3 0 5 1 2 3
 
 
  
Sample Output
50 75 25 1 2 3
#include <iostream> #include <cstdio> #define mod 1000000007 using namespace std; __int64 q_sort(__int64 a,__int64 b) { __int64 s=1; while(b>0) { if(b&1)s=s*a%mod; //&    ,           

        a=a*a%mod;

        b/=2; } return s; } int main (void) { __int64 n,t,k,i,j,l,a[11111],T;

    scanf("%I64d",&T); while(T--&&scanf("%I64d%I64d%I64d",&n,&t,&k)) { for(i=0;i<n;i++) {

            scanf("%I64d",&j);

            a[(i+t)%n]=j*q_sort(k,t)%mod; //           ,          }

        printf("%I64d",a[0]); for(i=1;i<n;i++)

            printf(" %I64d",a[i]);

        putchar(10); } return 0; }
       ,            ,           ,              ,     ,                 ,                  ,        !

좋은 웹페이지 즐겨찾기