#include <bits/stdc++.h>
using namespace std;
pair<int,int> a[100];
int vis[100];
int n,sum;
void dfs(int step){
if(n == step + 1){
sum++;
return;
}
if(!vis[a[step].first]){
vis[a[step].first] = 1;
dfs(step+1);
vis[a[step].first] = 0;
}
if(!vis[a[step].second]){
vis[a[step].second] = 1;
dfs(step+1);
vis[a[step].second] = 0;
}
}
int main(){
cin >> n;
if(!n){
cout << n;
return 0;
}
for(int i = 1;i <= n;i++)
cin >> a[i].first >> a[i].second;
dfs(1);
cout << sum;
return 0;
}
样例输出为6,竟然全AC,这是怎么肥事?