之前发表过一个版本的八皇后,后来在洛谷上看到了另一个八皇后(其实是N皇后)。这个最大到达13,对剪枝要求较高。之前版本的程序有一个测试点无法通过。
提供参考代码:
#include
#include
#include
#include
#include
#define llat(x) ll[x+50]
#define lrat(x) lr[x+50]
using namespace std;
char a[14];
char uCr[14];
char ll[100],lr[100];
int cnt=0;
int n=0;
int dfs(char line)
{
char i,j;
if(line==n)
{
cnt++;
if(cnt<=3)
{
for(i=0;i>n;
memset(a,0,sizeof(a));
memset(uCr,0,sizeof(uCr));
memset(ll,0,sizeof(ll));
memset(lr,0,sizeof(lr));
dfs(0);
cout<
本代码在输入13的时候可以在600ms内通过。