当前位置: 首页 > news >正文

C语言 | Leetcode C语言题解之第552题学生出勤记录II

题目:

题解:

const int MOD = 1000000007;struct Matrix {long mat[6][6];int row, col;
};struct Matrix multiply(struct Matrix a, struct Matrix b) {int rows = a.row, columns = b.col, temp = b.row;struct Matrix c;memset(c.mat, 0, sizeof(c.mat));c.row = rows, c.col = columns;for (int i = 0; i < rows; i++) {for (int j = 0; j < columns; j++) {for (int k = 0; k < temp; k++) {c.mat[i][j] += a.mat[i][k] * b.mat[k][j];c.mat[i][j] %= MOD;}}}return c;
}struct Matrix matricPow(struct Matrix mat, int n) {struct Matrix ret = {{{1, 0, 0, 0, 0, 0}}, 1, 6};while (n > 0) {if ((n & 1) == 1) {ret = multiply(ret, mat);}n >>= 1;mat = multiply(mat, mat);}return ret;
}int checkRecord(int n) {struct Matrix mat = {{{1, 1, 0, 1, 0, 0}, {1, 0, 1, 1, 0, 0}, {1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0}, {0, 0, 0, 1, 0, 1}, {0, 0, 0, 1, 0, 0}}, 6, 6};struct Matrix res = matricPow(mat, n);long sum = 0;for (int i = 0; i < res.col; i++) {sum += res.mat[0][i];}return (int)(sum % MOD);
}

http://www.mrgr.cn/news/68908.html

相关文章:

  • Java——异常处理
  • Elasticsearch中什么是倒排索引?
  • Mac保护电池健康,延长电池使用寿命的好方法
  • 浅谈C++之内存管理
  • MySQL核心业务大表归档过程
  • uni-app表格带分页,后端处理过每页显示多少条
  • PyQt入门指南四十七 内存管理技巧
  • 解释Python中的装饰器的作用
  • SpringBoot12-Shiro
  • 论文重复率从58%降到38%,死活降不下去了,怎么办?
  • 【C语言】位运算
  • 国产操作系统ctyun下安装Informix SDK开发包的方法
  • Python练习13
  • Git国内国外下载地址镜像,git安装视频教程
  • Golang | Leetcode Golang题解之第552题学生出勤记录II
  • Android 下内联汇编,Android Studio 汇编开发
  • 云计算在远程办公中的应用
  • PMP–知识卡片--项目干系人
  • 科研绘图系列:R语言热图和点图(heatmap dotplot)
  • Python软体中使用Matplotlib绘制散点图的实用指南
  • 【RMA】基于知识注入和模糊学习的多模态歧义分析
  • [DB] Project-1-MySQL
  • 【RocketMQ】无法访问此网站 http://XXX:10080/ ERR_UNSAFE_PORT
  • 【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整题库
  • Java | Leetcode Java题解之第552题学生出勤记录II
  • CMD 查询python 出现 No pyvenv.cfg file 很奇怪 2024/11/9