5 条题解
- 
  -4
#include<bits/stdc++.h> using namespace std;
const int MAXN = 25; int n, ans; char arr[MAXN][MAXN]; bool v[MAXN];
void dfs(int step) { if (step == n + 1) { ans++; return; } for (int i = 1; i <= n; i++) { if (arr[step][i] == '1' && !v[i]) { v[i] = 1; dfs(step + 1); v[i] = 0; } } }
int main() { cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { cin >> arr[i][j]; } }
dfs(1); cout << ans << endl; return 0;}
 
信息
- ID
 - 3062
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 6
 - 标签
 - 递交数
 - 109
 - 已通过
 - 37
 - 上传者