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

  • 相关阅读:
    OC block声明和使用
    OC 内存管理(retain和release)
    OC @class关键字
    OC typedef(起别名)
    OC static 和函数
    OC static 和变量
    java【基础】日期操作
    java【基础】正则表达式
    理解String拼接,+运算符重载的实际效果
    swoole的EventLoop学习
  • 原文地址:https://www.cnblogs.com/ACWQYYY/p/4640542.html
Copyright © 2011-2022 走看看