Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
139250 | 黄宇翔 | N皇后问题 | C++ | 运行超时 | 80 | 1000 MS | 256 KB | 509 | 2024-03-22 18:54:41 |
#include<bits/stdc++.h> using namespace std; int N,res=0; void queen(int *arr,int r){ if(r==N){ res++; } else{ for(int c=0;c<N;c++){ arr[r]=c; bool can=true;//标记是否可以放皇后 for(int c1=0;c1<r;c1++){//不在同一行 if(arr[r]==arr[c1]||abs(r-c1)==abs(arr[r]-arr[c1])){ can=false; break; } } if(can) queen(arr,r+1);//不满足则继续 } } } int main(){ cin>>N; int arr[N+1]; queen(arr,0); cout<<res<<endl; return 0; }