| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 686 人关注过本帖
标题:八皇后问题 希望大家帮我改进一下
只看楼主 加入收藏
饭桶
Rank: 6Rank: 6
等 级:侠之大者
帖 子:165
专家分:422
注 册:2011-4-5
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:4 
八皇后问题 希望大家帮我改进一下
程序代码:
#include<stdio.h>
void fun(int i,int j);
static int b[8][8];
void main()
    {
    fun(0,0);

    }
int knock(int i,int j)
        {int temp_i,temp_j,k;
        temp_i=i;temp_j=j;
        for(i=i-1;i>=0;i--)
            if(b[i][j]==1)
                return 1;
         for(i=temp_i-1,k=temp_j+1,j=temp_j-1;i>=0;i--,j--,k++)
                {if(j>=0&&b[i][j]==1)
                    return 1;
                if(k<8&&b[i][k]==1)
                    return 1;
                }
        return 0;
        }
void cls(int i)
        {int j;
        for(;i<8;i++)
            {
            for(j=0;j<8;j++)
                b[i][j]=0;
            }

        }
void print(void)
        {int i,j;static int n=1;
         printf("--------------------------\n第%d种\n",n++);
            for(j=0;j<8;j++)
                {
                for(i=0;i<8;i++)
                    {if(b[i][j]==1)
                        printf("* ");
                     else
                        printf("0 ");
                    }
                printf("\n");
            
                }
           printf("\n");//    getchar();
        }
void fun(int i,int j)
        {if(i<8)
            {
            for(;j<8;j++)
                {cls(i);
                if(knock(i,j)==1)
                    continue;
                b[i][j]=1;     
                fun(i+1,0);
                }
            
            }
        else
            print();
        }

希望大家给我点建议,谢谢!

[ 本帖最后由 饭桶 于 2011-11-16 23:38 编辑 ]
搜索更多相关主题的帖子: color 
2011-11-16 23:34
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:25 
时间效率上的改进?可以试试双向搜索和A*搜索
2011-11-17 07:03
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:25 
才八而已,不需要a*.简单的搜索就可以了。
2011-11-17 08:38
饭桶
Rank: 6Rank: 6
等 级:侠之大者
帖 子:165
专家分:422
注 册:2011-4-5
收藏
得分:0 
有点冷啊

人得一生得奋斗!
2011-11-18 15:02
饭桶
Rank: 6Rank: 6
等 级:侠之大者
帖 子:165
专家分:422
注 册:2011-4-5
收藏
得分:0 
管理员催着结贴啊

人得一生得奋斗!
2011-11-19 13:07
快速回复:八皇后问题 希望大家帮我改进一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012853 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved