3_13.cpp
上传用户:zipjojo
上传日期:2009-07-20
资源大小:70k
文件大小:1k
源码类别:

文章/文档

开发平台:

C/C++

  1. # include <iostream.h>
  2. int col[8],Left[15],Right[15];
  3.  int queen[8];
  4.  int n=0;
  5.  int sum=0;
  6.  void generate()
  7. {
  8. int h,i;
  9. for(h=0;h<=7;h++)
  10. {
  11. if(col[h]&& Left[n+h] && Right[n-h+7])
  12. {
  13. queen[n]=h;
  14. col[h]=false;
  15. Left[n+h]=false;
  16. Right[n-h+7]=false;
  17. n+=1;
  18. if(n==8)
  19. {
  20. sum++;
  21. cout<<"  "<<sum;
  22. for(i=0;i<=7;i++)
  23.  cout<<"t"<<queen[i];
  24. cout<<endl;
  25. }
  26. else generate();
  27. n--;
  28. Left[n+h]=true;
  29. Right[n-h+7]=true;
  30. col[h]=true;
  31. }
  32. }
  33. }
  34. void main()
  35. {  
  36. int c,s;
  37. for(c=0;c<=7;++c)
  38. col[c]=true;
  39. for(s=0;s<=14;++s)
  40. {
  41. Left[s]=true;
  42. Right[s]=true;
  43. }
  44. cout<<"行数:t0t1t2t3t4t5t6t7"<<endl;
  45.  generate();
  46. cout<<"八皇后摆法总数:"<<sum<<endl;
  47. }