rt
为啥总是输出 0 qwq
#include <iostream>
using namespace std;
int a[50] = {0};
int n, ans = 0;
int ren[50][2];
bool is[50] = {false};
void dfs(int cen, int num[21]) {
if (cen == n) {
bool is = true;
for (int i = 1; i <= n; i++) {
if (num[i] != ren[i][0] && num[i] != ren[i][1]) {
is = false;
break;
}
}
if (is) {
ans++;
}
return;
}
if (cen > n)return;
for (int i = 1; i <= n; i++) {
if (is[i] == false) {
is[i] = true;
num[cen] = i;
dfs(cen + 1, num);
is[i] = false;
}
}
}
int nums[21] = {0};
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> ren[i][0] >> ren[i][1];
}
dfs(0, nums);
cout << ans << endl;
return 0;
}