关注
第四题边界写成迭代变量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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 笔试 #
2279380次浏览 26829人参与
# 入职第一天,你准备什么时候下班 #
37768次浏览 241人参与
# 招行数字金融训练营 #
76259次浏览 337人参与
# 牛友故事会 #
436471次浏览 10443人参与
# 入职第四天,心情怎么样 #
22997次浏览 343人参与
# 你的办公桌上都有什么? #
3962次浏览 34人参与
# 腾讯云智研发2025实习生招聘 #
106053次浏览 1284人参与
# 你的工资什么时候发? #
21648次浏览 175人参与
# 阿里云工作体验 #
18092次浏览 84人参与
# 小红书工作体验 #
44069次浏览 394人参与
# 实习必须要去大厂吗? #
78089次浏览 1158人参与
# 海康威视求职进展汇总 #
448912次浏览 3499人参与
# 硬件应届生薪资是否普遍偏低? #
64848次浏览 492人参与
# 这些公司卡简历很严格 #
22710次浏览 92人参与
# 同程旅行工作体验 #
3239次浏览 20人参与
# 职场破防瞬间 #
38194次浏览 514人参与
# 机械人,说说你的烦心事 #
54897次浏览 767人参与
# 元戎启行求职进展汇总 #
27369次浏览 206人参与
# 硬件人的春招flag #
36939次浏览 398人参与
# Offer比较,求稳定还是求发展 #
34434次浏览 201人参与
# 米哈游工作体验 #
7884次浏览 72人参与
# TP-LINK工作体验 #
42164次浏览 806人参与