zoukankan      html  css  js  c++  java
  • POJ 1321 棋盘问题

    http://poj.org/problem?id=1321

    因为 每一行 每一列不能有 棋子重复 也就是 没摆放一个棋子 就终结了 这一行 和这一列的 可能性 

    和8皇后一样 

    直接从第一行枚举 --> 深搜 回溯即可

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 #define READ() freopen("in.txt", "r", stdin);
     5 using namespace std;
     6 
     7 int n, k, ans, tar = 0;
     8 char maze[16][16];
     9 bool row[16], culumn[16];
    10 
    11 void dfs(int x)
    12 {
    13     if (x == n) return;
    14     int i = x;
    15     for (int j = 0; j < n; j++)
    16     {
    17         if (maze[i][j] == '#' && culumn[j] == false && row[i] == false)
    18         {
    19             tar++;
    20             if (tar == k)
    21             {
    22                 ans++;
    23             }
    24             else
    25             {
    26                 culumn[j] = true;
    27                 row[i] = true;
    28                 dfs(i+1);
    29                 culumn[j] = false;
    30                 row[i] = false;
    31             }
    32             tar--;
    33         }
    34     }
    35     dfs(x+1);
    36 }
    37 
    38 
    39 int main()
    40 {
    41     while (~scanf("%d%d", &n, &k))
    42     {
    43         if (n == -1 && k == -1) break;
    44         for (int i = 0; i < n; i++)
    45         {
    46             getchar();
    47             for (int j = 0; j < n; j++)
    48             {
    49                 scanf("%c", &maze[i][j]);
    50             }
    51         }
    52         memset(row, 0, sizeof(row));
    53         memset(culumn, 0, sizeof(culumn));
    54         tar = 0;
    55         ans = 0;
    56         dfs(0);
    57         cout << ans << endl;
    58     }
    59     return 0;
    60 }
  • 相关阅读:
    关于ORA-04091异常的出现原因,以及解决方案
    <Interview problem>二进制加法
    Hadoop日志文件分析系统
    Android studio安装
    weex环境配置
    weex构建项目
    参数保存
    下拉搜索的小白demo
    angularJs中$http获取后台数据实例(搜集到的)
    前后台对接angularjs(搜集的)
  • 原文地址:https://www.cnblogs.com/oscar-cnblogs/p/6515857.html
Copyright © 2011-2022 走看看