关注
第四题边界写成迭代变量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;
}
查看原帖
点赞 评论
相关推荐
03-05 14:30
陕西科技大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试被问到不会的问题,你怎么应对? #
15972次浏览 336人参与
# uu们,春招你还来吗? #
56455次浏览 460人参与
# 厦门银行科技岗值不值得投 #
14847次浏览 351人参与
# 你见过哪些招聘隐形歧视? #
16035次浏览 145人参与
# 面试中,你被问过哪些奇葩问题? #
93342次浏览 1021人参与
# 你觉得大几开始实习最合适? #
19505次浏览 207人参与
# 招商银行数字金融训练营 #
105447次浏览 915人参与
# 25届网易互娱暑实进度 #
102559次浏览 784人参与
# 字节开奖 #
138854次浏览 625人参与
# 你都用vibe coding做过什么? #
13050次浏览 565人参与
# AI Coding实战技巧 #
9477次浏览 221人参与
# 做完笔试后你收到面试了吗? #
19122次浏览 196人参与
# 恒生电子笔试 #
19295次浏览 153人参与
# 哪个瞬间让你对大厂祛魅了? #
593009次浏览 3746人参与
# 你现在一天AI几次? #
7701次浏览 106人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
874644次浏览 7009人参与
# Vibe Coding 会干掉初级岗位吗? #
14990次浏览 186人参与
# 哪些公司在招寒假实习? #
89334次浏览 758人参与
# 大厂实习和小厂实习最大的区别是什么? #
32221次浏览 233人参与
# 如果人生可以debug你会改哪一行? #
6930次浏览 119人参与
# 面试吐槽bot #
185994次浏览 909人参与
# 牛友の3月总结 #
19549次浏览 173人参与
查看18道真题和解析