?? cpp1.cpp
字號:
//迭代回朔
#include<iostream.h>
#include<math.h>
//using namespace std;
#define max 8
int real(int k,int c[])
{
for(int i=1;i<k;i++)
if(c[k]==c[i]||(abs(c[k]-c[i])==abs(k-i)))
return 0;
return 1;
}
int main()
{
int c[max+1],flag=0,k;
for(int i=0;i<=max;i++)
c[i]=0; //賦初值
k=1;
goon:
while(k>=1&&k<=max)
{
while(c[k]<max)
{
c[k]=c[k]+1;
if(real(k,c)&&k==max)
{
flag=1;
break;
}//if
else if(real(k,c))
{
k=k+1;
goto goon;
}//else if
}//while
if(flag)
break;
c[k]=0;
k=k-1;
}//while
if(flag)
for(int i=1;i<=max;i++)
cout<<c[i]<<" ";
else
cout<<"沒"<<endl;
cout<<endl;
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -