P8605 [蓝桥杯 2013 国 AC] 网络寻路
#include <bits/stdc++.h>
using namespace std;
int n,m,u,v,y=0,ans=0;
bool s[30][100],a[1010];
void search(int x){
if(y==4){
y=0;
ans++;
return;
}
for(int i=1;i<=n;i++){
if((s[x][i]==true || s[i][x]==true) && a[i]==false){
y++;
a[i]=true;
search(i);
a[i]=false;
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u>>v;
s[u][v]=true;
}
for(int i=1;i<=n;i++) search(i);
cout<<ans;
return 0;
}