#include <bits/stdc++.h>
using namespace std;
int answer[92]{
15863724,16837425,17468253,17582463,24683175,25713864,25741863,26174835,26831475,
27368514,27581463,28613574,31758246,35281746,35286471,35714286,35841726,36258174,
36271485,36275184,36418572,36428571,36814752,36815724,36824175,37285146,37286415,
38471625,41582736,41586372,42586137,42736815,42736851,42751863,42857136,42861357,
46152837,46827135,46831752,47185263,47382516,47526138,47531682,48136275,48157263,
48531726,51468273,51842736,51863724,52468317,52473861,52617483,52814736,53168247,
53172864,53847162,57138642,57142863,57248136,57263148,57263184,57413862,58413627,
58417263,61528374,62713584,62714853,63175824,63184275,63185247,63571428,63581427,
63724815,63728514,63741825,64158273,64285713,64713528,64718253,68241753,71386425,
72418536,72631485,73168524,73825164,74258136,74286135,75316824,82417536,82531746,83162574,84136275 };
int main(){
int cases;
cin >> cases;
for(int kase = 0; kase < cases; ++kase){
int n; cin >> n;
cout << answer[n-1] << endl;
}
}
//
//int vis[3][20] = {0};
//int R[8] = {0};
//int tot = 0;
//int n = 8;
//
//
//void seac(int cur){
// if(cur == 8) {
// tot++;
// cout<< "";
// for(int i = 0; i < 8; ++i){
// cout << R[i] + 1;
// }
// cout << ",";
// }
// else for(int i = 0; i < 8; ++i){
// if(!vis[0][i] && !vis[1][cur+i] && !vis[2][cur-i+8]){
//
// R[cur] = i;
//
// vis[0][i] = vis[1][cur+i] = vis[2][cur-i+8] = 1;
// seac(cur + 1);
// vis[0][i] = vis[1][cur+i] = vis[2][cur-i+8] = 0;
//
// }
// }
//}
//memset(vis, 0, sizeof(vis));
// memset(R, 0, sizeof(R));
// seac(0);
代码胜于言表,改编自刘汝佳,共92种解法,输出字典序第K大的排序法
八皇后问题
最新推荐文章于 2023-07-07 14:04:01 发布