矩阵幂

矩阵幂

http://www.nowcoder.com/questionTerminal/31e539ab08f949a8bece2a7503e9319a

#include <stdio.h>
void mul(int n,int a[n][n],int b[n][n])
{
    int i,j,k,c[n][n];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            c[i][j]=0;
            for(k=0;k<n;k++)
                c[i][j]+=a[i][k]*b[k][j];
        }
    }  
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            a[i][j]=c[i][j];
}
int main()
{
    int m,n,k,i,j;
    scanf("%d%d",&n,&k);
    int a[n][n],ans[n][n];
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
            if(i==j)
                ans[i][j]=1;
            else
                ans[i][j]=0;
        }
    while(k!=0)
    {
        if(k%2==1)
            mul(n,ans,a);
        k/=2;
        mul(n,a,a);
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%d ",ans[i][j]);
        printf("\n");
    }
}
(•̀ᴗ•́)و
全部评论

相关推荐

01-02 00:50
三峡大学 Java
程序员牛肉:这简历一出手就离失业不远了。 作为一家公司来讲,我如果要招日常实习生,那我对实习生最基本的要求就是要能干活,毕竟你就待三四个月,谁会留心培养你? 那么除了院校之外,最重要的就是项目和实习了。没有实习的话项目就好好搞。 但是你说你这个项目吧:课程作业管理系统和TMS运输管理系统。这两个基本就和闹着玩差不多。 你作为一个想要应聘Java开发实习生的人,对后端的理解还仅仅停留在:“使用mapper和sql映射”,“使用SQL进行多表调用”,“基于MySQL简历表结构”,“基于Spring boot完成CURD操作”这种玩具上......... 找不到后端实习的
点赞 评论 收藏
分享
什么时候才能有offer啊_:十年前我还在刺激战场研究跳伞的底层原理呢
投递牛客等公司
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务