求从棋盘的坐下角到右上角的无环路的总数

2016-02-19 14:04 1 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐求从棋盘的坐下角到右上角的无环路的总数,无聊中的都看过来。

【 tulaoshi.com - 编程语言 】

#include"stdio.h"
  #define N 8          //因为算出来的数据太大,所以要算很久,可以改变N的值进行测试。
  #include"iostream.h" //此算法采用回溯法 enum bin{fal,tr};    //假如有更好的算法,请发e-mail给我。在此谢过。
  int top=0;
  long int num=0;
  int row[]={-1,-2,-2,-1,1,2,2,1};
  int col[]={-2,-1,1,2,2,1,-1,-2};
  bin mark[N][N];strUCt stack
  {
    int x,y;
    int dir;}board[N*N];void push(stack it)
  {
    board[top].x=it.x;
    board[top].y=it.y;
    board[top].dir=it.dir;
    mark[board[top].x][board[top].y]=tr;
    top++;
    }
   
  stack pop()
  {
    --top;
    mark[board[top].x][board[top].y]=fal;
    board[top].dir++;
    return board[top];
    }
   
  bin empty()
  {
    if(top==0) return tr;
    else return fal;
    }
   
  void main()
  {
    stack temp={N-1,N-1,-1};
    push(temp);
    while(!empty())
    {
      int g,h;
      temp=pop();
      int i=temp.x;
      int j=temp.y;
      int dir=temp.dir;
      while(dir8)
      {
        g=i+row[dir];
        h=j+col[dir];
        if((g0)(h0)(g=N)(h=N)mark[g][h]) dir++;
        else {
               if(g==0&&h==0) {num++;dir++;}
               else {
                     temp.x=i;
                     temp.y=j;
                     temp.dir=dir;
                     push(temp);
                     i=g;
                     j=h;
                     dir=0;
                     }//else
               }//else
        }//while
      }//while
    cout"the total number is:"num;
    getchar();
    }//main
  

来源:https://www.tulaoshi.com/n/20160219/1606105.html

延伸阅读
标签: 浏览器
怎么设置360浏览器右上角搜索引擎默认为百度搜索?   当我们打开360安全浏览器的时候,默认的搜索引擎的综合搜索,有时候用起来很不方便,今天小编就为大家讲解下如何更改360安全浏览器的搜索引擎为百度搜索,希望对大家有所帮助。 1、打开360浏览器进入主界面,点击浏览器右上方的工具选项,进入设置界面。 2、然...
标签: 电脑入门
A-accept B-belif C-care D-digest E-enjoy F-freedom G-give H-heart I-independence J-jealousy K-kiss L-love ---------------------------------
标签: 丰胸
案例分析 图钉提问: 哪些食物可以有效的丰胸?谢谢! 图老师解答: 花生,木瓜可能有所帮助的, 从A到C的丰胸秘籍! 丰胸介绍 一个25岁的小美,长得非常的标致动人,非常的充满女性的味道,咳咳……就是胸部有点小了,这是最大的瑕疵。男性喜好性感的...
为什么要让婴儿和母亲做短暂的分离 有时,母亲和孩子彼此分开一会会有好处。整天和一个刚学会走路的孩子在一起,是令人厌倦而乏味的,而且母亲也需要和成人做伴,得到喘息的机会。暂时离开一个不断予取予求的孩子,意味着母亲能再恢复精力。另外,对孩子来说,需要让他知道,不管他怎么重要,母亲总有她自己的事情要...
标签: Web开发
本数据绑定系列的第三部分演示了如何使用JSR-031:数据绑定,Sun 数据绑定规范申请中指定的方法,将 XML 元素和属性转换成 Java 对象。这部分主要讲述从数据的 XML 表示移到应用程序代码易于使用的 Java 实例。第三部分论及通过将 XML 文档中的嵌套元素取消编组成 Java 对象、测试和用某些实际示例来使用新的工具。 本系列的目标是演示...

经验教程

836

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部