1 条题解
-
4
标程
#include <iostream> #include <vector> #include<iomanip> #include<cstdio> using namespace std; const int N = 10; int n, k; char g[N][N]; bool qs[N]; int fan = 0; void dfs(int x, int cnt) { if (cnt == k) { fan++; return; } if (x >= n) { return; } for (int i = 0; i < n; i++) { if (qs[i] == false && g[x][i] == '#') { qs[i] = true; dfs(x + 1, cnt + 1); qs[i] = false; } } dfs(x + 1, cnt); } int main() { while (cin >> n >> k, n > 0 && k > 0) { for (int i = 0; i < n; i++) { scanf("%s", g[i]); } fan = 0; dfs(0, 0); printf("%d\n", fan); } return 0; }
- 1
信息
- ID
- 1041
- 提交时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 14
- 已通过
- 7
- 上传者
冀公网安备13098402000493号