[POJ - 1321]チェス盤(DFS)

チェス盤

チェッカーボードにおいて片、個ない差の上方に配置さ(形状が不規則であってもよい)の形状を与えられ。任意の二枚の表示が要求される場合、同じ行またはボードにおいて同一列に配置することができない、所与の基板サイズ及び形状を解決するためのプログラムの要件は、すべての可能な配置スキームCのk個を配置すること

入力

データの複数のセットを含むテスト入力。 
各データの最初の行は、スペースで区切られた2つの正の整数、NKを、であり、ボードの数はn * nのマトリックスで説明を示し、及び片を置きます。N <= 8、K <=  N
の入力端が-1で表される場合-1。 
その後、n行市松模様の形状について説明:N#は基板面積を表す行あたりの文字を、空白領域(余分な空白行のデータが表示されるか、空欄ないことが保証されている)を示しています。 

出力

データの各セットに対して、出力の一行は、出力表示プログラムC(データ保証C <2 ^ 31)の数が与えられます。

サンプル入力

2 1

#。

。#

4 4

...#

..#。

。#..

#...

-1 -1

サンプル出力

2

1

トピックリンク:

https://vjudge.net/problem/POJ-1321

ACコード:

1の#include <iostreamの>
 2の#include <cstdioを>
 3の#include <fstreamの>
 4の#include <アルゴリズム>
 5の#include <cmath>
 6の#include <両端キュー>
 7の#include <ベクトル>
 8の#include <キュー>
 9#含む< ストリング >
 10の#include <CStringの>
 11の#include <地図>
 12の#include <積層>
 13の#include < 設定 >
14  の#define MOD十億七
 15  の#defineが長い長いっ
 16  の#define INF 0x3f3f3f3f
17  使用して 名前空間STD;
 18である チャー MP [ 15 ] [ 15 ];
 19  INT VIS [ 15 ]; // カラム
20は 、INT 、K N-;
 21である INT SUM = 0 ;
 22である ボイド DFS(INT X、INT CNT)// X現在の行のために、ディスプレイのピースの現在の数のCNT 
23は、 {
 24      IF(CNTは== K)
 25      {
 26である          SUM ++ ;
 27      }
 28      のためにINT I = X; I <N-; I ++ 29      {
 30          のためにINT J = 0 ; J <N-; J ++ 31である         {
 32              IF(MP [I] [J] == ' ' && VIS [J] == 0//はこのカラム通過判断
33である             {
 34は                  VIS [J] = 1 ;
 35                  (私は+ DFS 1。、CNT + 1 );
 36                  VIS [J]が= 0 ;
 37              }
 38である         }
 39     }
 40  }
 41は 、INT (メイン)
 42である {
 43は     、一方(CIN >> N- K)
 44である     {
 45          IF(N - == - 1 - && K == 1。 46が             BREAK 47          他の
48          {
 49              // 毎更新する
50              SUM = 0 ;
 51である              のmemset(VIS、0はsizeof (VIS));
 52である             ためintは = I 0 ; Iは<N-Iが++ 53であります                 INT J = 0 ; J <N; J ++ 54                      CIN >> MP [I] [J]。
55の              DFS(00 );
56          }
 57          COUT <<和<< ENDL。
58      }
 59 }

 

おすすめ

転載: www.cnblogs.com/sky-stars/p/10963005.html