📄 sy7.cpp
字号:
#include <iostream>
#include <vector>
using namespace std;
const int size = 10; //是几就是几皇后
bool use[ size ][ size ];
vector <int> pace ( size );
bool solution = true;
void work( int t )
{
if ( solution && t <= size )
{
if ( t == size )
{
int i, j;
for ( i = 0; i < size; i++ )
{
for ( j = 0; j < size; j++ )
if ( j == pace[ i ] )
cout << 1;
else
cout << 0;
cout << endl;
}
cout << endl;
solution = false; //把这句话去掉就是全部解
}
else
{
int i, j;
for ( i = 0; i < size; i++ )
{
if ( use[ t ][ i ] )
{
bool choose = true;
for ( j = t - 1; j >= 0 && choose; j-- )
if ( !use[ j ][ i ] ) choose = false;
for ( j = t - 1; j >= 0 && choose; j-- )
{
if ( i + j - t >= 0)
if ( !use[ j ][ i + j - t ] )
choose = false;
if ( i - j + t < size )
if ( !use[ j ][ i - j + t ] )
choose = false;
}
if ( choose )
{
pace[ t ] = i;
use[ t ][ i ] = false;
work( t + 1 );
use[ t ][ i ] = true;
}
}
}
}
}
}
int main()
{
memset( use, true, sizeof( use ) );
work( 0 );
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -