为什么我的程序会卡
  • 板块灌水区
  • 楼主D2T1xubiaoshi
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/8/5 09:44
  • 上次更新2023/11/4 11:57:41
查看原帖
为什么我的程序会卡
390770
D2T1xubiaoshi楼主2021/8/5 09:44
//loj100
#include <cstring>
#include <cstdio>

const int N = 510, Mod = 1e9 + 7;
struct Matrix{
	int n, m;
	long long a[N][N];
	Matrix(int x, int y) : n(x), m(y) { memset(a, 0, sizeof(a)); }
	Matrix() {}
	void read(int x, int y){
		n = x, m = y;
		for(int i = 1; i <= n; ++ i)
			for(int j = 1; j <= m; ++ j)
				scanf("%lld", &a[i][j]);
		return ;
	}
	void print(){
		for(int i = 1; i <= n; ++ i){
			for(int j = 1; j <= m; ++ j)
				printf("%lld", a[i][j]);
			puts("");
		}
		return ;
	}
	Matrix operator * (const Matrix &b) const {
		Matrix c(n, b.m);
		printf("%d %d",c.n, c.m);
		for(int i = 1; i <= n; ++ i)
			for(int j = 1; j <= m; ++ j)
				for(int k = 1; k <= b.m; ++ k)
					c.a[i][j] += a[i][k] % Mod * b.a[k][j] % Mod,
					c.a[i][j] = (c.a[i][j] + Mod) % Mod;
		return c;
	}
} a, b, c;

int main(){
	int n, m, p;
	scanf("%d%d%d", &n, &m, &p);
	a.read(n, m);
	b.read(m, p);
	c = a * b;//只要有这一句就会卡
	c.print();
	return 0;
}

就是读入都没有读,直接卡掉,等个几秒就return 了

2021/8/5 09:44
加载中...