#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 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... |