zoukankan      html  css  js  c++  java
  • Codeforces 417E Square Table(随机算法)

    题目链接:Codeforces 417E Square Table


    题目大意:给出n和m。要求给出一个矩阵,要求每一列每一行的元素的平方总和是一个平方数。


    解题思路:构造。依照

    a a a b

    a a a b

    a a a b

    c c c d

    的方式取构造,然后a,b,c,d的值用随机生成数去枚举,只是我认为用暴力也是能够的。


    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <cstdlib>
    
    bool judge (int s) {
    	int k = sqrt(s);
    	return k * k == s;
    }
    
    int main () {
    	int n, m;
    	int a, b, c, d;
    
    	scanf("%d%d", &n, &m);
    
    	while (true) {
    		a = rand()%100 + 1;
    		b = rand()%100 + 1;
    		c = rand()%100 + 1;
    		d = rand()%100 + 1;
    
    		if (judge(a * a * (m-1) + b * b)
    		 && judge(a * a * (n-1) + c * c)
    		 && judge(b * b * (n-1) + d * d)
    		 && judge(c * c * (m-1) + d * d) )
    			break;
    	}
    
    	for (int i = 1; i < n; i++) {
    		for (int j = 1; j < m; j++)
    			printf("%d ", a);
    		printf("%d
    ", b);
    	}
    
    	for (int i = 1; i < m; i++)
    			printf("%d ", c);
    	printf("%d
    ", d);
    	return 0;
    }
    


  • 相关阅读:
    woj 1574
    UESTC 594 我要长高 dp单调队列
    HDU 3401 Trade dp 单调队列优化
    HDU 2844 Coins 多重背包
    2-1
    1-2
    1-1
    12-1
    9-1
    14-8
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5225732.html
Copyright © 2011-2022 走看看