Submission #1013878

#TimeUsernameProblemLanguageResultExecution timeMemory
1013878May27_thGeppetto (COCI15_geppetto)C++17
80 / 80
73 ms440 KiB
#include<bits/stdc++.h> using namespace std; #define i64 long long #define i128 __int128 #define mp make_pair #define pb push_back #define all(x) (x).begin(), (x).end() signed main() { ios_base::sync_with_stdio(false); cin.tie(0); cout << fixed << setprecision(10); int Tests = 1; // cin >> Tests; while (Tests --) { int N, M; cin >> N >> M; vector<vector<bool>> works(N + 2, vector<bool> (N + 2, true)); for (int i = 1; i <= M; i ++) { int u, v; cin >> u >> v; works[u][v] = works[v][u] = false; } int ans = 0; auto recur = [&](auto &&self, int last, vector<bool> can) -> void { ans ++; for (int i = last + 1; i <= N; i ++) { if (can[i]) { vector<bool> ncan = can; for (int j = i; j <= N; j ++) { if (!works[i][j]) ncan[j] = false; } self(self, i, ncan); } } }; vector<bool> can(N + 2, true); recur(recur, 0, can); cout << ans << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...