码迷,mamicode.com
首页 > 其他好文 > 详细

5.16魔幻方阵

时间:2017-04-30 10:54:51      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:打印   排列   class   程序   暴力   ==   blog   nbsp   highlight   

Q:魔幻方阵指在n*n的矩阵中填写1~n*n这些数字,使得每行每列以及两个对角线之和均相等。编写一个程序,打印出一种三阶的魔幻方阵。

 

思路一:

//用来判断i~q是否互不相等

int match(int i,int j,int k,int l,int m,int n,int o, int p,int q) {
	if(i!=j && i!=k &&i!=l&&i!=m &&i!=n &&i!=o && i!=p &&i!=q
		&& j!=k &&j!=l && j!=m &&j!=n &&j!=o &&j!=p &&j!=q
		&& k!=l &&k!=m &&k!=n && k!=o &&k!=p &&k!=q && l!=m &&
		l!=n &&l!=o &&l!=p &&l!=q &&m!=n &&m!=o &&m!=p &&m!=q
		&& n!=o &&n!=p && n!=q &&o!=p &&o!=q &&p!=q)
		return 1;
	else	return 0;
}

//用来判断i~q这种排列是否满足魔幻方阵的要求

int just(int i,int j,int k,int l,int m,int n,int o, int p,int q) {
	if(i+j+k==l+m+n &&i+j+k==o+p+q &&i+l+o==j+m+p &&i+l+o==k+n+q
	 &&i+m+q==k+m+o)
	 	return 1;
 	else return 0;
}

 

下面再弄 暴力循环。

 

思路二:DFS深度优先搜索也行!

5.16魔幻方阵

标签:打印   排列   class   程序   暴力   ==   blog   nbsp   highlight   

原文地址:http://www.cnblogs.com/dd2hm/p/6788826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!