zoukankan      html  css  js  c++  java
  • 矩阵 构造 模板

    F - Number Sequence

    #include<iostream>
    #include<cstdio>
    using namespace std;
    struct mat
    {
        int ans[2][2];
    };
    mat I,MID;
    int M;
    mat cal(mat a,mat b)
    {
        mat c;
        int i,j,k;
        for(i=0;i<2;i++)
            for(j=0;j<2;j++)
            {
                c.ans[i][j]=0;
                for(k=0;k<2;k++)
                    c.ans[i][j]+=a.ans[i][k]*b.ans[k][j];
                    c.ans[i][j]%=7;
            }
        return c;
    }
    mat atl(int n)
    {
        mat res=MID;
        mat mid=I;
        while(n){
        if(n&1)
            res=cal(res,mid);
            mid=cal(mid,mid);
            n>>=1;}
            return res;
    }
    int main()
    {
        int k,i,j;
        int a,b,n;
        while(scanf("%d%d%d",&a,&b,&n)!=-1)
        {
            if(a==0&&b==0&&n==0)
                break;
                I.ans[0][0]=a;
                I.ans[1][0]=b;
                I.ans[0][1]=1;
                I.ans[1][1]=0;
                MID.ans[0][0]=1;
                MID.ans[0][1]=1;
                MID.ans[1][0]=0;
                MID.ans[1][1]=0;
                if(n<3)
                printf("1 ");
                else{
                    mat l=atl(n-2);
            printf("%d ",l.ans[0][0]);
                }
        }
        return 0;
    }

  • 相关阅读:
    迟到的恶劣影响
    spring boot 向数据库写入海量数据
    分析 SQL 执行过程
    Mysql 索引 BTree 与 Hash
    Mysql 数据库设计
    Jdk 源码下载方式
    深入理解JVM虚拟机-周志明【第三版】
    Elasticsearch 查询实践
    MFC程序运行流程

  • 原文地址:https://www.cnblogs.com/ACWQYYY/p/4640542.html
Copyright © 2011-2022 走看看