87求调
查看原帖
87求调
1218138
molakeser楼主2024/10/1 18:49

最后一个点WA

#include <bits/stdc++.h>

using namespace std;
const int N=20;
int a[N],b[N],c[N],d[N],sum,n;

void s(int i) {
	for(int j=1; j<=n; j++) {
		if(b[j]==0&&c[i+j]==0&&d[i-j+7]==0) {
			a[i]=j;
			b[j]=c[i+j]=d[i-j+7]=1;
			if(i==n) {
				sum++;
				if(sum<=3) {
					for(int k=1; k<=n; k++) {
						cout<<a[k]<<" ";
					}
					cout<<endl;
				}
			} else s(i+1);
			b[j]=c[i+j]=d[i-j+7]=0;
		}
	}
}
int main() {
	cin>>n;
	s(1);
	cout<<sum;
	return 0;
}

2024/10/1 18:49
加载中...