矩阵运算模板

矩阵运算题目(持续更新)

(1.) 矩阵乘法

(2.) 甲苯先生的字符串

矩阵乘法

细节:输出答案前还要取模一次以防爆负。

$View$ $Code$

//省略头文件
using namespace std;
inline int read()
{
	int ret=0,f=1;
	char ch=getchar();
	while(ch>'9'||ch<'0')
	{
		if(ch=='-')
			f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
	{
		ret=(ret<<1)+(ret<<3)+ch-'0';
		ch=getchar();
	}
	return ret*f;
}
const int mod=1e9+7;
int n,p,m,a[505][505],b[505][505],c[505][505];
int main()
{
	n=read();
	p=read();
	m=read();
	for(register int i=1;i<=n;i++)
		for(register int j=1;j<=p;j++)
			a[i][j]=read();
	for(register int i=1;i<=p;i++)
		for(register int j=1;j<=m;j++)
			b[i][j]=read();
	for(register int i=1;i<=n;i++)
		for(register int j=1;j<=m;j++)
			for(register int k=1;k<=p;k++)
				c[i][j]=(c[i][j]+1ll*a[i][k]*b[k][j])%mod;
	for(register int i=1;i<=n;i++)
	{
		for(register int j=1;j<=m;j++)
			printf("%d ",(c[i][j]+mod)%mod);
		printf("
");
	}
	return 0;
}
原文地址:https://www.cnblogs.com/Peter0701/p/11366659.html