hdu 4920 快速矩阵相乘 以后得换一种写法了

 

【题意】:求两个矩阵相乘的结果 

 

复制代码
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 using namespace std;
 5 #define mod 3
 6 
 7 int a[808][802],b[808][802];
 8 int c[808][808],n;
 9 
10 void mul()
11 {
12     for(int i=0; i<n; i++)
13         for(int j=0; j<n; j++)
14             if(a[i][j])
15             {
16                 for(int k=0; k<n; k++)
17                     //if(b[j][k])    加了这一句居然就超时了 实在不晓得是为什么
18                     c[i][k]=(c[i][k]+a[i][j]*b[j][k]);
19                 //取模运算是最耗时的运算 经计算这里不会超过数据范围 所以不要一步一取模,最后一步来取余就可以了
20             }
21 }
22 
23 int main()
24 {
25     int i,j,m,t;
26     while(~scanf("%d",&n))
27     {
28         for(i=0; i<n; i++)
29             for(j=0; j<n; j++)
30                {
31                     scanf("%d",&a[i][j]);
32                     a[i][j]%=3;
33                }
34         for(i=0; i<n; i++)
35             for(j=0; j<n; j++)
36             {
37                 scanf("%d",&b[i][j]);
38                 b[i][j]%=3;
39             }
40         memset(c,0,sizeof(c));
41         mul();
42         for(i=0; i<n; i++)
43         {
44             printf("%d",c[i][0]%3);
45             for(j=1; j<n; j++)
46                 printf(" %d",c[i][j]%3);
47             printf("\n");
48         }
49     }
50     return 0;
51 }
复制代码

 

posted @   galaxy77  阅读(142)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!
点击右上角即可分享
微信分享提示