#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define SZ(s) (int)s.size()
const int N = 5e1 + 5;
const int M = 1e9 + 7;
// vector <int> v[N], vis;
int b[N], n, m, cn, ans;
bool mp[N][N], vis[N][N][N];
int main() {
ios_base::sync_with_stdio(false); cin.tie(nullptr);
cin >> n >> m;
vector <int> v1, v2;
for(int i = 1; i <= m; i++) {
int u1, u2;
cin >> u1 >> u2;
mp[u1][u2] = mp[u2][u1] = true;
// v[u1].push_back(u2);
// v[u2].push_back(u1);
}
for(int i = 1; i <= n; i++) {
v1.push_back(i);
}
do {
// cout << v1[0] << ' ';
for(int i = 1; i < n; i++) {
if(!mp[v1[i-1]][v1[i]]) break;
for(int j = 1; j < i; j++) {
if(!vis[v1[0]][v1[j]][v1[i]]) ans++;
vis[v1[0]][v1[j]][v1[i]] = true;
}
}
// cout << '\n';
} while(next_permutation(v1.begin(), v1.end()));
cout << ans << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |