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;
    }

  • 相关阅读:
    C++结构体内重载、this指针和友元函数(初步了解)
    数据结构—造树计划—二叉搜索树
    PTA顺序的分数
    PTA兼容任务
    PTA航船
    UML-基于GRASP对象设计步骤
    UML-设计对象时涉及的制品有哪些?
    UML-什么是用例实现(场景实现)?
    UML-如何使用GRASP进行对象设计?
    日志总结
  • 原文地址:https://www.cnblogs.com/ACWQYYY/p/4640542.html
Copyright © 2011-2022 走看看