Submission #432117

#TimeUsernameProblemLanguageResultExecution timeMemory
432117SuhaibSawalha1철인 이종 경기 (APIO18_duathlon)C++17
0 / 100
1093 ms11648 KiB
#include <bits/stdc++.h> using namespace std; int n, m, vid, vid2; vector<vector<int>> adj; vector<int> vis, stck, st; long long ans; void dfs (int u, int k) { vis[u] = vid; if (u == k) { for (int v : stck) { st[v] = vid2; } } stck.push_back(u); for (int v : adj[u]) { if (vis[v] != vid) { dfs(v, k); } } stck.pop_back(); vis[u] = 0; } int main (){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> m; adj.resize(n); while (m--) { int u, v; cin >> u >> v, --u, --v; adj[u].push_back(v); adj[v].push_back(u); } vis.resize(n); st.resize(n); for (int u = 0; u < n; ++u) { for (int v = 0; v < n; ++v) { if (u ^ v) { ++vid; ++vid2; dfs(u, v); ans += max(0, (int)count(st.begin(), st.end(), vid2) - 1); } } } cout << ans; return 0; }
#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...