zoukankan      html  css  js  c++  java
  • bzoj2396:神奇的矩阵

    Pre

    交不了,代码在这里。

    有一个注意点。

    Solution

    随机一个矩阵与两边相乘。

    Code

    #include<bits/stdc++.h>
    #define xx first
    #define yy second
    #define ll long long
    using namespace std;
    
    const int N = 1000 + 5, M = 1000;
    int n;
    bool flag;
    struct Matrix1 {
    	int info[N][N];
    }a, b, c;
    struct Matrix2 {
    	int info[N];
    	Matrix2 () {
    		memset (info, 0, sizeof (info));
    	}
    }k;
    
    inline void solve () {
    	if (!flag) {
    		return ;
    	}
    	for (int i = 1; i <= n; ++i) {
    		k.info[i] = rand () % 100 + 1;
    	}
    	Matrix2 rr;
    	for (int i = 1; i <= n; ++i) {
    		for (int j = 1; j <= n; ++j) {
    			rr.info[i] += c.info[i][j] * k.info[j];
    		}
    	}
    	Matrix2 L, lst;
    	for (int i = 1; i <= n; ++i) {
    		for (int j = 1; j <= n; ++j) {
    			L.info[i] += b.info[i][j] * k.info[j];
    		}
    	}
    	for (int i = 1; i <= n; ++i) {
    		for (int j = 1; j <= n; ++j) {
    			lst.info[i] += a.info[i][j] * L.info[j];
    		}
    	}
    	for (int i = 1; i <= n; ++i) {
    		if (lst.info[i] != rr.info[i]) {
    			flag = false;
    			return ;
    		}
    	}
    }
    
    int main () {
    	srand (19491001);
    	while (scanf ("%d", &n) == 1) {
    		flag = true;
    		for (int i = 1; i <= n; ++i) {
    			for (int j = 1; j <= n; ++j) {
    				scanf ("%d", &a.info[i][j]);
    			}
    		}
    		for (int i = 1; i <= n; ++i) {
    			for (int j = 1; j <= n; ++j) {
    				scanf ("%d", &b.info[i][j]);
    			}
    		}
    		for (int i = 1; i <= n; ++i) {
    			for (int j = 1; j <= n; ++j) {
    				scanf ("%d", &c.info[i][j]);
    			}
    		}
    		solve ();
    		solve ();
    		solve ();
    		if (flag) {
    			printf ("Yes
    ");
    		}
    		else {
    			printf ("No
    ");
    		}
    	}
    	return 0;
    }
    

    Conclusion

    注意,函数传入的不能是矩阵,不信自己试(炸空间)。

  • 相关阅读:
    软件测试
    软件测试
    软件测试
    软件测试
    软件测试
    软件测试
    软件测试
    软件测试
    软件测试
    When:什么时候做集成测试
  • 原文地址:https://www.cnblogs.com/ChiTongZ/p/11185517.html
Copyright © 2011-2022 走看看