Advertisement

回溯法用于解决八皇后问题(递归)

阅读量:

利用回溯法解决八皇后问题(递归)

    • 1.采用递归方式予以处理

1.用递归解决

复制代码
    #include <stdio.h>
    #include <math.h>
    
    int n,sum,a[20],b[20],c[40],d[40];
    void putdata()//输出数据
    {
    	for(int i = 1; i<=n; i++)
    	{
    		for(int j = 1; j<=n; j++)
    		{
    			if(a[i]==j)
    				printf("  Q");
    			else
    				printf("  *");
    		}
    		printf("\n");
    	}
    	printf("\n");
    }
    void tryqueen(int i)//找第i行皇后应该放第i行哪个位置
    {
    	for(int j = 1; j<=n; j++)
    	{
    		if(b[j]==0 && c[i+j]==0 && d[i-j+n]==0)
    		{
    			a[i] = j;
    			b[j] = 1;
    			c[i+j] = 1;
    			d[i-j

全部评论 (0)

还没有任何评论哟~