国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

棋盤(pán)問(wèn)題

2019-11-08 02:51:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

THINK 簡(jiǎn)單明了的DFS 雖然 到 距離結(jié)束只有15分鐘時(shí) 才開(kāi)始敲,但還是在結(jié)束前2分鐘AC了!!!

PRoblem Description 在一個(gè)給定形狀的棋盤(pán)(形狀可能是不規(guī)則的)上面擺放棋子,棋子沒(méi)有區(qū)別。要求擺放時(shí)任意的兩個(gè)棋子不能放在棋盤(pán)中的同一行或者同一列,請(qǐng)編程求解對(duì)于給定形狀和大小的棋盤(pán),擺放k個(gè)棋子的所有可行的擺放方案C。 Input 輸入含有多組測(cè)試數(shù)據(jù)。 每組數(shù)據(jù)的第一行是兩個(gè)正整數(shù),n k,用一個(gè)空格隔開(kāi),表示了將在一個(gè)n*n的矩陣內(nèi)描述棋盤(pán),以及擺放棋子的數(shù)目。 n <= 8 , k <= n 當(dāng)為-1 -1時(shí)表示輸入結(jié)束。 隨后的n行描述了棋盤(pán)的形狀:每行有n個(gè)字符,其中 # 表示棋盤(pán)區(qū)域, . 表示空白區(qū)域(數(shù)據(jù)保證不出現(xiàn)多余的空白行或者空白列)。 Output 對(duì)于每一組數(shù)據(jù),給出一行輸出,輸出擺放的方案數(shù)目C (數(shù)據(jù)保證C< 2^31)。 Example Input

2 1

.

.# 4 4 …# ..#. .#..

-1 -1

Example Output

2 1

#include<bits/stdc++.h>using namespace std;char Map[1050][1050];int v[1050];int Count;int n, k;void DFS(int x, int y);int main() { int i; while(cin >> n >> k) { if (n == -1 && k == -1) break; Count = 0; memset(v, 0, sizeof(v)); for (i = 0;i <= n - 1;i ++) { cin >> Map[i]; } DFS(0,0); cout << Count << endl; } return 0; } void DFS(int x, int y) { int i, j; if (y == k) { Count ++; return ; } for (i = x;i <= n - 1;i ++) { for (j = 0;j <= n - 1;j ++) { if (Map[i][j]=='#'&&!v[j]) { v[j] = 1; DFS(i + 1, y + 1); v[j] = 0; } } } }/***************************************************User name: team3Result: AcceptedTake time: 0msTake Memory: 164KBSubmit time: 2017-02-18 11:28:32****************************************************/
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹤峰县| 乐安县| 罗源县| 盐城市| 陕西省| 雷州市| 孙吴县| 渝北区| 博野县| 莎车县| 顺昌县| 新余市| 永济市| 昌图县| 天台县| 桓仁| 金寨县| 马山县| 桐城市| 千阳县| 枣庄市| 九龙县| 金昌市| 建湖县| 常熟市| 敦化市| 乌鲁木齐市| 遵义市| 玉树县| 望都县| 康马县| 遵化市| 同心县| 思茅市| 新津县| 陆丰市| 临洮县| 铜山县| 娄底市| 冕宁县| 蒲城县|