1 条题解
-
2
黎耗,窝较兰研啊这题我不会啊!!!
#include <iostream> #include <cstring> using namespace std; char mp[10][10]; int n,k,sum,ans,vis[101]; void dfs(int a) { if(sum == k) { ans ++; return; } if(a > n) return; for(int i = 1;i <= n;i ++) { if(mp[a][i] == '#' && vis[i] == 0) { sum ++; vis[i] = 1; dfs(a + 1); vis[i] = 0; sum --; } } dfs(a + 1); } //你猜是什么个思路 int main() { ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); //无法编译 while (cin >> n >> k) { if (n == -1 && k == -1) break; ans = 0,sum = 0; memset(mp,0,sizeof(mp));//清空mp数组 for(int i = 1;i <= n;i ++) { for(int j = 1;j <= n;j ++) { cin >> mp[i][j]; } } dfs(0); cout << ans << "\n"; } }
- 1
信息
- ID
- 217
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 11
- 已通过
- 5
- 上传者