書式#include <math.h>の クラスのソリューション{ プライベート: ベクトル < 文字列 > ソリューション。 ベクトル <ベクトル< int型 >> 結果。 ベクトル < int型 > の列。 公共: ブールチェック(int型の列、int型COL){ ため(INT R = 0 ; R <行; R ++ ) 場合(列[R] == COL ||(行R)== ABS(列[R] - COL)) を返す 偽。 返す 真; } ボイドバックトラッキング(int型のn、int型の列){ 場合(行== N){ result.push_back(列)。 返します。 } のための(INT COL = 0、COL <N; COL ++ ){ columns.push_back(COL)。 もし(チェック(行、列)) バックトラック(N、行 + 1 )。 columns.pop_back(); } } ベクトル <ベクトル< ストリング >> solveNQueens(INTN){ (バックトラックN、0 ); ベクトル <ベクトル< 文字列 >> RES。 用(オート&V:結果){ ベクトル < ストリング > S。 用(オート&C:V){ 文字列 T(N、' ' ;) T [C] = ' Q ' 。 s.push_back(T)。 } res.push_back(S); } 戻りRESと、 } }。
問題解決のアプローチを学びhttps://leetcode-cn.com/problems/n-queens/solution/c-hui-su-fa-by-da-li-wang-4/