時(shí)間限制: 2s
內(nèi)存限制: 192MB 提交: 345 解決: 180
題目描述
在一個(gè)給定形狀的棋盤(形狀可能是不規(guī)則的)上面擺放棋子,棋子沒有區(qū)別。要求擺放時(shí)任意的兩個(gè)棋子不能放在棋盤中的同一行或者同一列,請(qǐng)編程求解對(duì)于給定形狀和大小的棋盤,擺放 k 個(gè)棋子的所有可行的擺放方案 C。
輸入格式
輸入含有多組測(cè)試數(shù)據(jù)。
每組數(shù)據(jù)的第一行是兩個(gè)正整數(shù)n,k,用一個(gè)空格隔開,表示了將在一個(gè)n×n的矩陣內(nèi)描述棋盤,以及擺放棋子的數(shù)目。 (n≤8,k≤n)
當(dāng)為?1?1時(shí)表示輸入結(jié)束。
隨后的n行描述了棋盤的形狀:每行有n個(gè)字符,其中 # 表示棋盤區(qū)域,. 表示空白區(qū)域(數(shù)據(jù)保證不出現(xiàn)多余的空白行或者空白列)。
輸出格式
對(duì)于每一組數(shù)據(jù),給出一行輸出,輸出擺放的方案數(shù)目C(數(shù)據(jù)保證C<231)。
樣例輸入
2 1
#.
.#
4 4
...#
..#.
.#..
#...
-1 -1
提示
零基礎(chǔ)同學(xué)可以先學(xué)習(xí)
視頻課程,包含C/C++、Python、百練、藍(lán)橋杯輔導(dǎo)、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習(xí)題,還有老師答疑,
點(diǎn)擊這里了解課程詳情
標(biāo)簽