zoukankan      html  css  js  c++  java
  • Leetcode 51

    //看了一次解析后,一次AC,用一个pos记录行列。
    class
    Solution { public: vector<vector<string>> solveNQueens(int n) { vector<vector<string>> res; vector<int> pos(n,-1); DFS(pos,0,res); return res; } void DFS(vector<int>& pos,int row,vector<vector<string>>& res){ int n = pos.size(); if(row == n){ vector<string> out(n,string(n,'.')); //string也有这种填充写法 for(int i=0;i < n;i++){ out[i][pos[i]] = 'Q'; } res.push_back(out); } else{ for(int i=0;i < n;i++){ if(isfine(pos,row,i)){ pos[row] = i; DFS(pos,row+1,res); pos[row] = -1; } } } } bool isfine(vector<int>& pos,int row,int col){ for(int i=0;i < row;i++){ if(pos[i] == col || abs(row-i) == abs(col-pos[i])) return false; } return true; } };
  • 相关阅读:
    1167E (尺取法)
    Report CodeForces
    Maximum Xor Secondary CodeForces
    Sliding Window POJ
    单调队列 Sliding Window POJ
    尺取法
    目标
    NOIP系列(续)
    NOIP系列
    近期目标
  • 原文地址:https://www.cnblogs.com/cunyusup/p/9754948.html
Copyright © 2011-2022 走看看