Submission #59309

#TimeUsernameProblemLanguageResultExecution timeMemory
59309MatheusLealVDuathlon (APIO18_duathlon)C++17
5 / 100
551 ms13784 KiB
#include <bits/stdc++.h> #define N 100050 using namespace std; typedef long long ll; ll n, m, c, ans, ok[N]; vector<ll> grafo[N]; ll ini, mid, fim, oki = 0, dp[15][2000]; void dfs(ll x, ll mask) { if(dp[x][mask]) return; dp[x][mask] = 1; if(x == fim) { if( (mask & (1<<mid)) && (mask & (1<<ini))) oki = 1; return; } for(auto v: grafo[x]) { if(mask & (1<<v)) continue; dfs(v, mask | (1<<v)); } } ll sz[100050], root; ll B, C; int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>n>>m; for(ll i = 1, a, b; i <= m; i++) { cin>>a>>b; a --, b--; grafo[a].push_back(b); grafo[b].push_back(a); } for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { for(int z = 0; z < n; z++) { ini = i, mid = j, fim = z; if(i == j || i == z || j == z) continue; oki = 0; memset(dp, 0, sizeof dp); dfs(i, 1<<i); if(oki) ans ++; } } } cout<<ans<<"\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...