Submission #104527

#TimeUsernameProblemLanguageResultExecution timeMemory
104527_demon_Duathlon (APIO18_duathlon)C++14
0 / 100
135 ms11896 KiB
#include <bits/stdc++.h>
using namespace std;
int n,m;
vector<int>v[100009];
int child1[100009];
int child2[100009];
void dfs(int node,int p){
    for(int i=0;i<v[node].size();i++){
        int u=v[node][i];
        if(u==p) continue;
        dfs(u,node);
        child1[node]=child1[u]+1;
    }   
}
int main(){
    cin>>n>>m;
    for(int i=0;i<m;i++){
        int a,b;
        cin>>a>>b;
        a--;b--;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    int r;
    for(int i=0;i<n;i++){
        if(v[i].size()==1){r=i;break;}
    }dfs(r,r);
    for(int i=0;i<n;i++){
        child2[i]=n-child1[i]-1;}
    long long ans=0;for(int i=0;i<n;i++){int x=child1[i]*(child1[i]-1)/2;int y=child2[i]*(child2[i]-1)/2;ans+=x+y;}cout<<ans<<endl;
}

Compilation message (stderr)

count_triplets.cpp: In function 'void dfs(int, int)':
count_triplets.cpp:8:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v[node].size();i++){
                 ~^~~~~~~~~~~~~~~
count_triplets.cpp: In function 'int main()':
count_triplets.cpp:27:9: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
     }dfs(r,r);
      ~~~^~~~~
#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...