• LightOj 1065


    题目

    和 LightOj 1096 - nth Term 差不多的题目和解法,这道相对更简单些,万幸,这道比赛时没把模版给抽风坏。

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    
    int num,mod;
    struct matrix
    {
           int a[5][5];
    }origin,answ;
    
    
    matrix multiply(matrix x,matrix y)//矩阵乘法
    {
           matrix temp;
         //  memset(temp.a,0,sizeof(temp.a));
           for(int i=1;i<=num;i++)
           {
                   for(int j=1;j<=num;j++)
                   {
                           int ans=0;
                           for(int k=1;k<=num;k++)
                           {
                                   ans+=((x.a[i][k]*y.a[k][j])%mod);
                           }
                           temp.a[i][j]=ans%mod;
                   }
           }
           
           return temp;
    }
    
    matrix calc(int n)//n次矩阵快速幂
    {
         while(n)
         {
                 if(n%2==1)
                        answ=multiply(origin,answ);
                 origin=multiply(origin,origin);
                 n/=2;
         }
         return answ;
    }
    
    int main()
    {
        int t,id,a,b,n,m;
        scanf("%d",&t);
        for(id=1;id<=t;id++)
        {
            scanf("%d%d%d%d",&a,&b,&n,&m);
            num=2;
            memset(answ.a,1,sizeof(answ.a));
            memset(origin.a,1,sizeof(origin.a));
            mod=1;
            while(m--)
                mod=mod*10;
            answ.a[1][1]=a;
            answ.a[2][1]=b;
            origin.a[1][1]=0;
            origin.a[1][2]=1;
            origin.a[2][2]=1;
            origin.a[2][1]=1;
            printf("Case %d: ",id);
            if(n==1)printf("%d
    ",a%mod);
            else if(n==2)printf("%d
    ",b%mod);
            else 
            {
                calc(n-2);
                printf("%d
    ",(answ.a[1][1]+answ.a[2][1])%mod);
            }
        }
        return 0;
    
    }
    View Code
    一道又一道,好高兴!
  • 相关阅读:
    Executors 构建线程池
    结构型模式——Bridge(未完成)
    结构型模式——Adapter
    创建型模式——Builder
    创建型模式——Abstract Factory
    Java与线程
    Java内存模型
    类加载
    Class类文件的结构
    垃圾收集器
  • 原文地址:https://www.cnblogs.com/laiba2004/p/3558366.html
Copyright © 2020-2023  润新知