关注
第四题边界写成迭代变量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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
987804次浏览 4962人参与
# 你觉得mentor喜欢什么样的实习生 #
63234次浏览 1069人参与
# 27届实习投递记录 #
157019次浏览 1612人参与
# 我和mentor的爱恨情仇 #
120754次浏览 1029人参与
# 从mentor身上学到了__ #
66925次浏览 931人参与
# 你的mentor是什么样的人? #
65880次浏览 829人参与
# 秋招投递攻略 #
294847次浏览 2630人参与
# 万物皆可发面经 #
2360次浏览 32人参与
# 第一次找实习,我建议__ #
89153次浏览 902人参与
# 实习,不懂就问 #
225577次浏览 1740人参与
# 为了求职,我做过的疯狂伪装 #
90414次浏览 790人参与
# 你知道哪些职场黑话? #
92953次浏览 483人参与
# 为了入行xx岗,我学了__ #
50903次浏览 409人参与
# 我的求职精神状态 #
474477次浏览 3141人参与
# 求职中的尴尬瞬间 #
42967次浏览 127人参与
# 拿到offer之后,可以做些什么 #
121200次浏览 574人参与
# 除了Java,最推荐学什么技术? #
64746次浏览 410人参与
# 你上一次给父母打电话是什么时候 #
46155次浏览 284人参与
# 如何准备秋招 #
85275次浏览 878人参与
# 小红书求职进展汇总 #
248016次浏览 1410人参与
查看16道真题和解析