ReZero's Utopia.

八皇后问题

字数统计: 252阅读时长: 1 min
2016/10/21 Share
#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);
CATALOG