제출 #1181576

#제출 시각아이디문제언어결과실행 시간메모리
1181576agussMarshmallow Molecules (CCO19_day2problem2)C++20
5 / 25
4094 ms143232 KiB
#include <bits/stdc++.h> #define dbg(x) cerr << #x << ": " << x << '\n'; #define dbgv(v) cerr << #v << ": "; for(auto &el : v) cerr << el << " "; cerr << '\n'; using namespace std; using ll = long long; bool test_cases = 0; vector<vector<int>> arr; unordered_map<int, unordered_map<int, int>> ma; int ans; void funcionquenoesdfsnibfs(int node){ if(arr[node].empty()) return; for(int i = 0; i < arr[node].size() - 1; i++){ for(int j = i + 1; j < arr[node].size(); j++){ int x = min(arr[node][i], arr[node][j]); int y = max(arr[node][i], arr[node][j]); if(ma[x].count(y)) continue; arr[x].push_back(y); ma[x][y]++; ans++; } } } void solve(){ int n, m; cin >> n >> m; arr.assign(n, vector<int>()); ans = m; for(int i = 0; i < m; i++){ int a, b; cin >> a >> b; a--, b--; if(a < b){ arr[a].push_back(b); ma[a][b]++; continue; } arr[b].push_back(a); ma[b][a]++; } for(int i = 0; i < n - 1; i++){ funcionquenoesdfsnibfs(i); } cout << ans; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); if(test_cases){ int t; cin >> t; for(int i = 0; i < t; i++){ solve(); } return 0; } solve(); 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...