kuangbin帶你飛 專題1棋盤問題
阿新 • • 發佈:2021-01-18
kuangbin帶你飛 專題1棋盤問題
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n, k, ans;
char s[100][100];
int col[10];
void dfs(int x,int t)
{
if (x == n)
{
if (t == k)
ans++;
return;
}
for (int i = 0; i < n; i++)
{
if (s[x][ i] == '#'&&col[i] == 0)
{
col[i] = 1;
dfs(x + 1, t + 1);
col[i] = 0;
}
}
dfs(x + 1, t);
}
int main()
{
cin >> n >> k;
while (n != -1 && k != -1)
{
for (int i = 0; i < n; i++) cin >> s[i];
ans = 0;
dfs (0, 0);
cout << ans << endl;
cin >> n >> k;
}
return 0;
}