马踏棋盘(贪婪法)

原创 2005年05月24日 21:24:00

#include "stdio.h"
int delta_i[]={2,1,-1,-2,-2,-1,1,2};
int delta_j[]={1,2,2,1,-1,-2,-2,-1};
int board[8][8];
int exitn(int i,int j,int s,int a[])
{
 int i1,j1,k,count;
 for(count=k=0;k<8;k++)
 {
  i1=i+delta_i[(s+k)%8];
  j1=j+delta_j[(s+k)%8];
  if(i1>=0&&i1<8&&j1>=0&&j1<8&&board[i1][j1]==0)
   a[count++]=(s+k)%8;
 }
 return count;
}

int next(int i,int j,int s)
{
 int m,k,kk,min,a[8],b[8],temp;
 m=exitn(i,j,s,a);
 if(m==0) return -1;
 for(min=9,k=0;k<m;k++)
 {
  temp=exitn(i+delta_i[a[k]],j+delta_j[a[k]],s,b);
  if(temp<min)
  {
   min=temp;
   kk=a[k];
  }
  
 }
 return kk;
}

void print_borad()
{
 int i,j;
  for(i=0;i<8;i++)
   {
    for(j=0;j<8;j++)
     printf("%4d",board[i][j]);
    printf("/n/n");
   }
  printf("/n/n/n/n/n/n/n/n/n/n/n/n");
  getchar();

}

void main()
{
 int sx,sy,i,j,step,no,start;
 for(sx=0;sx<8;sx++)
  for(sy=0;sy<8;sy++)
  {
   start=0;
   do{
    for(i=0;i<8;i++)
     for(j=0;j<8;j++)
      board[i][j]=0;

     board[sx][sy]=1;
     i=sx;j=sy;

     for(step=2;step<=64;step++)
     {
      if((no=next(i,j,start))==-1) break;
      
      i+=delta_i[no];
      j+=delta_j[no];
      
      board[i][j]=step;
     
    print_borad();
     }
     if(step>64) break;
     
     start++;
     
   }while(step<=64);
   
  print_borad();
   
  }
}

马踏棋盘C++实现与贪婪算法优化

马踏棋盘问题即在一个8*8的棋盘上,

python实现马踏棋盘优化算法(贪婪算法+迭代)

python实现马踏棋盘优化算法(贪婪算法+迭代)
  • JsonD
  • JsonD
  • 2017年05月07日 13:13
  • 522

马踏棋盘问题解决-利用深度搜索和贪婪算法优化

最近研究算法,看着了一个基础编程题“马踏棋盘”。尝试用java来解决一下,代码有参考 package com.zjt.wuling.depsearch; /** * 关于‘马踏棋盘’问题,利用...

贪婪算法 ---马踏棋盘

package com.dataconstructor.greedy; /*马踏棋盘问题,用贪婪算法 */ public class HorseStep { //定义参数,x方向 y方向的增量...

回溯法的典型问题 八皇后 马踏棋盘 迷宫

所谓回溯就是”一条路走到黑,不通退几步,能走则走,啥时走完啥时了!”一:八皇后 八皇后问题是一个经典的问题,在一个8*8的棋盘上放置8个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线...

马踏棋盘问题

  • 2015年03月30日 12:46
  • 2KB
  • 下载

数据结构马踏棋盘JAVA实验源码

  • 2017年06月18日 09:16
  • 36KB
  • 下载

马踏棋盘的贪心算法 递归算法 非递归算法实现

http://www.cnblogs.com/wonderKK/tag/马踏棋盘/ 马踏棋盘(递归算法) #include int board [8][8]={0}...

马踏棋盘Java

  • 2014年03月22日 10:37
  • 374KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:马踏棋盘(贪婪法)
举报原因:
原因补充:

(最多只允许输入30个字)