武大校赛PE补题(有一个邻接矩阵求m步从i到j的方法数)
来源:互联网 发布:江苏域名备案查询 编辑:程序博客网 时间:2024/04/30 14:23
#include <iostream>#include <cstring>#include <cstdio>#define maxn 110#define Mod 1000000007using namespace std;class matrix{public: long long map[maxn][maxn]; matrix(){memset(map,0,sizeof(map));}};matrix multiply(matrix mat,int step,int n);matrix mult(matrix a,matrix b,int n);int main(){ int n,m; // while(scanf("%d %d",&n,&m)!=EOF) //{ scanf("%d %d",&n,&m); matrix mat; for (int k=0;k<m;k++)//这个记下来就好了 { int x,y; scanf("%d %d",&x,&y); if (x==n) mat.map[y][x]=1; else if (y==n) mat.map[x][y]=1; else {mat.map[x][y]=1;mat.map[y][x]=1;} } int step; scanf("%d",&step); mat.map[n][n]=1;//因为要把步数小于step的留下来所以我们人工在n,n加一条边这样就行了 mat=multiply(mat,step,n); printf("%I64d\n",mat.map[1][n]); // } return 0;}matrix multiply(matrix mat,int step,int n){ matrix ans; for (int k=1;k<=n;k++) ans.map[k][k]=1; while (step) { if (step&1) ans=mult(ans,mat,n); mat=mult(mat,mat,n); step>>=1; } return ans;}matrix mult(matrix a,matrix b,int n){ matrix ans; for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) for (int k=1;k<=n;k++) { ans.map[i][j]+=(a.map[i][k]*b.map[k][j])%Mod; ans.map[i][j]%=Mod; } return ans;}
0 0
- 武大校赛PE补题(有一个邻接矩阵求m步从i到j的方法数)
- 矩阵快速幂_求一个邻接矩阵中走m步的方法数
- 【Java】给定两个32位的整数N与M,以及表示比特位置的i与j。编写一个方法,将M插入N,使得M从N的第 j 位开始,到第 i 位结束。
- 求gcd(i,j,k)=m的方案数,i,j,k不同且属于1-n(组合数学+筛法(倍数法))
- 给一个数轴,包括正无穷和负无穷,从原点0开始向目标位置x走动(x为整数),第i步,步长为i,求到x的最少步数
- 从i到j(i<j)中随机取n个数的随机算法
- 9.5位操作(一)——M插入N,使得M从N的第j位开始,到第i位结束
- 如何求一个数的补数
- Unique Paths II 求在矩阵里从左上走到右下的总方法数(有障碍)@LeetCode
- 2016年安大校赛(补题)
- 河工大校赛总结+补题(未完待续)
- 求在m*n矩阵当中,从左上角出发到右下角有多少种方法
- 获取Mat元素的方法使用M.at(i,j)
- 求从一个整数数组中两个数之和为m的两个数
- 假设某一班级有M名学生,没人考N门功课,试设计两个c++函数,(1)求第i个学生N门功课的平均分数。(2)求第j门课程的平均分数
- 一个数组a[0...n-1],求a[i]-a[j]的最大值,其中i>j
- 一个数组a[0...n-1],求a[j]-a[i]的最大值,其中i<j
- 求一个数组(a(i,j))中元素相减的最大值,且i<=j
- sql_mode
- Incorrect parameters in the call to native function 'ifnull'
- java---多线程、线程池
- Eclipse上配置tomcat,发布web工程
- 数据库学习
- 武大校赛PE补题(有一个邻接矩阵求m步从i到j的方法数)
- Tomcat部署时war和war exploded区别以及平时踩得坑
- 《机器学习实战》(一)knn算法
- maven+Spring+SpringMVC+Mybatis 整合
- 浅谈Ajax中的GET和POST
- 关于Unity的表面着色器的学习
- java:lock中使用多个condition实现通知特定线程
- bootstrap modal 传值
- leetcodeOJ 442. Find All Duplicates in an Array