hihoCoder Challenge 14 register

Ended

Participants:709

Verdict:Accepted
Submitted:2015-08-30 20:05:57

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<bits/stdc++.h>
#define fi first
#define se second
using namespace std;
const int maxn = 100000 + 10;
vector<int> g[maxn];
int d[maxn];
void gao(pair<int,int> &a,int d)
{
    if(a.fi < d)a.fi = d;
    if(a.fi > a.se) swap(a.fi,a.se);
}
int res;
void dfs(int u,int now)
{
    d[u] = 1;
    int & ans = d[u];
    pair<int,int> t;
    t.fi = t.se = 0;
    for(auto v:g[u]) {
        dfs(v,now+1);
        ans = max(ans,1+d[v]);
        gao(t,d[v]);
    }
    //printf("(%d %d %d %d)\n",u,now,t.fi,t.se);
    res = max(res,now+t.fi+t.se);
}
int main()
{
    int n;
    while(scanf("%d",&n)==1) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX