关注
第四题边界写成迭代变量a 9%,哭了!
矩阵幂乘思路,参考弗洛伊德算法
#include <iostream>
using namespace std;
int map[4][4] = {{0, 1, 1, 1}, {1, 0, 1, 1}, {1, 1, 0, 1}, {1, 1, 1, 0}};//每一代迭代的结果
int mapTempt[4][4] = {0}; //用来装临时变量的
int mapPattern[4][4] = {{0, 1, 1, 1}, {1, 0, 1, 1}, {1, 1, 0, 1}, {1, 1, 1, 0}};//模式矩阵,结果就是这个矩阵的k次方的最后一个元素
int lineMutil(int i, int j){ //矩阵行列相乘
int sum=0;
for(int k=0;k<4;++k){
sum += map[i][k] *mapPattern[k][j];
}
return sum;
}
void mapMutil(){ //矩阵相乘
for(int i=0;i<4;++i){
for(int j=0;j<4;++j){
mapTempt[i][j] = lineMutil(i, j);
}
}
}
void copy(){ //拷贝临时矩阵到迭代矩阵,
for(int i=0;i<4;++i){
for(int j=0;j<4;++j){
map[i][j] = mapTempt[i][j];
}
}
}
int main() {
int k;
cin>>k;
for(int i=1;i<k;++i){ //矩阵的k次幂
mapMutil();
copy();
}
cout<<map[3][3]; //最后一个元素即是答案
return 0;
}
查看原帖
点赞 评论
相关推荐
万物DP:你这写的太多了,我看了看其实很多也没亮点
点赞 评论 收藏
分享
10-23 16:43
华中科技大学 算法工程师
Fluffy_Chi...:在公司最大的感受就是还是学生的时候对技术太迷信了 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# i人适合做什么工作 #
5208次浏览 61人参与
# 大家实习每天都在干啥 #
95869次浏览 533人参与
# 快手技术岗信息交流阵地 #
14255次浏览 80人参与
# 我是面试官,请用一句话让我破防 #
6288次浏览 52人参与
# 你认为哪些项目算烂大街? #
73044次浏览 607人参与
# 如果秋招能重来,我会____ #
21793次浏览 197人参与
# “vivo”个offer #
28279次浏览 204人参与
# 许愿池 #
321168次浏览 2905人参与
# 校招生月薪1W算什么水平 #
8129次浏览 54人参与
# 硬件应届生薪资是否普遍偏低? #
88353次浏览 559人参与
# 华为池子有多大 #
105588次浏览 740人参与
# 苦尽甘来时,再讲来时路 #
20689次浏览 308人参与
# 作业帮求职进展汇总 #
70684次浏览 484人参与
# 如果上班像打游戏,你最想解锁什么技能 #
4220次浏览 43人参与
# 一份好的简历长什么样? #
10857次浏览 242人参与
# 为了实习逃课值吗? #
17291次浏览 148人参与
# 你认为小厂实习有用吗? #
95060次浏览 609人参与
# 秋招许愿,本周能____ #
20364次浏览 135人参与
# 班味很重的人是啥样的? #
6309次浏览 39人参与
# 投递无反馈,如何优化求职策略? #
3678次浏览 32人参与
# 大学最后一个寒假,我想…… #
62516次浏览 668人参与
# 机械制造秋招总结 #
84292次浏览 826人参与
