F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_20613636_5366.cpp:7:25: error: stray '#' in program
     using namespace std;#define pb push_back#define NN 301000 typedef pair<int,int> pii;vector<pii> ed[NN]; long long ans;int son[NN],fc[NN];int val[NN]; void dfs2(int u,int fa,int ecol,int fcnt){    ans+=((long long)son[u]-fc[u])*fcnt*val[u];    int i,j,sz=ed[u].size(),v,tcol=-1,vv,tfcnt;    int totc=0,tott=0;    for(i=0,j=0;i<sz;++i){        v=ed[u][i].second;        if (v==fa) continue;        if (tcol!=ed[u][i].first){            tcol=ed[u][i].first;            totc=0;            if (j<sz&&ed[u][j].second==fa) ++j;            for(;j<sz&&ed[u][j].first==tcol;++j){                vv=ed[u][j].second;                if (vv==fa) continue;                totc=totc+son[vv]-fc[vv];            }            tott+=totc;        }        ans+=((long long)son[u]-tott)*(son[v]-fc[v])*val[u];        if (ecol==ed[u][i].first) tfcnt=son[u]-totc;        else tfcnt=son[u]-totc+fcnt;        dfs2(v,u,ed[u][i].first,tfcnt);    }} int dfs1(int u,int fa,int ecol){    son[u]=1;    fc[u]=0;    int i,sz=ed[u].size(),v,tmp;    sort(ed[u].begin(),ed[u].end());    for(i=0;i<sz;++i){        if (ed[u][i].second==fa) continue;        v=ed[u][i].second;        tmp=dfs1(v,u,ed[u][i].first);        son[u]+=tmp;        if (ecol==ed[u][i].first) fc[u]+=tmp;    }    return son[u]-fc[u];} int main(){    int n,i,a,b,c;    while(scanf("%d",&n)!=EOF){        for(i=1;i<=n;++i){            scanf("%d",&val[i]);            ed[i].clear();        }        for(i=1;i<n;++i){            scanf("%d%d%d",&a,&b,&c);            ed[a].pb(make_pair(c,b));            ed[b].pb(make_pair(c,a));        }        dfs1(1,-1,-1);        ans=0;        dfs2(1,-1,-1,0);        printf("%I64d\n",ans);    }    return 0;}
                         ^
0_0_20613636_5366.cpp:7:45: error: stray '#' in program
     using namespace std;#define pb push_back#define NN 301000 typedef pair<int,int> pii;vector<pii> ed[NN]; long long ans;int son[NN],fc[NN];int val[NN]; void dfs2(int u,int fa,int ecol,int fcnt){    ans+=((long long)son[u]-fc[u])*fcnt*val[u];    int i,j,sz=ed[u].size(),v,tcol=-1,vv,tfcnt;    int totc=0,tott=0;    for(i=0,j=0;i<sz;++i){        v=ed[u][i].second;        if (v==fa) continue;        if (tcol!=ed[u][i].first){            tcol=ed[u][i].first;            totc=0;            if (j<sz&&ed[u][j].second==fa) ++j;            for(;j<sz&&ed[u][j].first==tcol;++j){                vv=ed[u][j].second;                if (vv==fa) continue;                totc=totc+son[vv]-fc[vv];            }            tott+=totc;        }        ans+=((long long)son[u]-tott)*(son[v]-fc[v])*val[u];        if (ecol==ed[u][i].first) tfcnt=son[u]-totc;        else tfcnt=son[u]-totc+fcnt;        dfs2(v,u,ed[u][i].first,tfcnt);    }} int dfs1(int u,int fa,int ecol){    son[u]=1;    fc[u]=0;    int i,sz=ed[u].size(),v,tmp;    sort(ed[u].begin(),ed[u].end());    for(i=0;i<sz;++i){        if (ed[u][i].second==fa) continue;        v=ed[u][i].second;        tmp=dfs1(v,u,ed[u][i].first);        son[u]+=tmp;        if (ecol==ed[u][i].first) fc[u]+=tmp;    }    return son[u]-fc[u];} int main(){    int n,i,a,b,c;    while(scanf("%d",&n)!=EOF){        for(i=1;i<=n;++i){            scanf("%d",&val[i]);            ed[i].clear();        }        for(i=1;i<n;++i){            scanf("%d%d%d",&a,&b,&c);            ed[a].pb(make_pair(c,b));            ed[b].pb(make_pair(c,a));        }        dfs1(1,-1,-1);        ans=0;        dfs2(1,-1,-1,0);        printf("%I64d\n",ans);    }    return 0;}
                                             ^
0_0_20613636_5366.cpp:7:26: error: 'define' does not name a type
     using namespace std;#define pb push_back#define NN 301000 typedef pair<int,int> pii;vector<pii> ed[NN]; long long ans;int son[NN],fc[NN];int val[NN]; void dfs2(int u,int fa,int ecol,int fcnt){    ans+=((long long)son[u]-fc[u])*fcnt*val[u];    int i,j,sz=ed[u].size(),v,tcol=-1,vv,tfcnt;    int totc=0,tott=0;    for(i=0,j=0;i<sz;++i){        v=ed[u][i].second;        if (v==fa) continue;        if (tcol!=ed[u][i].first){            tcol=ed[u][i].first;            totc=0;            if (j<sz&&ed[u][j].second==fa) ++j;            for(;j<sz&&ed[u][j].first==tcol;++j){                vv=ed[u][j].second;                if (vv==fa) continue;                totc=totc+son[vv]-fc[vv];            }            tott+=totc;        }        ans+=((long long)son[u]-tott)*(son[v]-fc[v])*val[u];        if (ecol==ed[u][i].first) tfcnt=son[u]-totc;        else tfcnt=son[u]-totc+fcnt;        dfs2(v,u,ed[u][i].first,tfcnt);    }} int dfs1(int u,int fa,int ecol){    son[u]=1;    fc[u]=0;    int i,sz=ed[u].size(),v,tmp;    sort(ed[u].begin(),ed[u].end());    for(i=0;i<sz;++i){        if (ed[u][i].second==fa) continue;        v=ed[u][i].second;        tmp=dfs1(v,u,ed[u][i].first);        son[u]+=tmp;        if (ecol==ed[u][i].first) fc[u]+=tmp;    }    return son[u]-fc[u];} int main(){    int n,i,a,b,c;    while(scanf("%d",&n)!=EOF){        for(i=1;i<=n;++i){            scanf("%d",&val[i]);            ed[i].clear();        }        for(i=1;i<n;++i){            scanf("%d%d%d",&a,&b,&c);            ed[a].pb(make_pair(c,b));            ed[b].pb(make_pair(c,a));        }        dfs1(1,-1,-1);        ans=0;        dfs2(1,-1,-1,0);        printf("%I64d\n",ans);    }    return 0;}
                          ^
0_0_20613636_5366.cpp:7:96: error: 'pii' was not declared in this scope
     using namespace std;#define pb push_back#define NN 301000 typedef pair<int,int> pii;vector<pii> ed[NN]; long long ans;int son[NN],fc[NN];int val[NN]; void dfs2(int u,int fa,int ecol,int fcnt){    ans+=((long long)son[u]-fc[u])*fcnt*val[u];    int i,j,sz=ed[u].size(),v,tcol=-1,vv,tfcnt;    int totc=0,tott=0;    for(i=0,j=0;i<sz;++i){        v=ed[u][i].second;        if (v==fa) continue;        if (tcol!=ed[u][i].first){            tcol=ed[u][i].first;            totc=0;            if (j<sz&&ed[u][j].second==fa) ++j;            for(;j<sz&&ed[u][j].first==tcol;++j){                vv=ed[u][j].second;                if (vv==fa) continue;                totc=totc+son[vv]-fc[vv];            }            tott+=totc;        }        ans+=((long long)son[u]-tott)*(son[v]-fc[v])*val[u];        if (ecol==ed[u][i].first) tfcnt=son[u]-totc;        else tfcnt=son[u]-totc+fcnt;        dfs2(v,u,ed[u][i].first,tfcnt);    }} int dfs1(int u,int fa,int ecol){    son[u]=1;    fc[u]=0;    int i,sz=ed[u].size(),v,tmp;    sort(ed[u].begin(),ed[u].end());    for(i=0;i<sz;++i){        if (ed[u][i].second==fa) continue;        v=ed[u][i].second;        tmp=dfs1(v,u,ed[u][i].first);        son[u]+=tmp;        if (ecol==ed[u][i].first) fc[u]+=tmp;    }    return son[u]-fc[u];} int main(){    int n,i,a,b,c;    while(scanf("%d",&n)!=EOF){        for(i=1;i<=n;++i){            scanf("%d",&val[i]);            ed[i].clear();        }        for(i=1;i<n;++i){            scanf("%d%d%d",&a,&b,&c);            ed[a].pb(make_pair(c,b));            ed[b].pb(make_pair(c,a));        }        dfs1(1,-1,-1);        ans=0;        dfs2(1,-1,-1,0);        printf("%I64d\n",ans);    }    return 0;}
                                                                                                ^
0_0_20613636_5366.cpp:7:99: error: template argument 1 is invalid
     using namespace std;#define pb push_back#define NN 301000 typedef pair<int,int> pii;vector<pii> ed[NN]; long long ans;int son[NN],fc[NN];int val[NN]; void dfs2(int u,int fa,int ecol,int fcnt){    ans+=((long long)son[u]-fc[u])*fcnt*val[u];    int i,j,sz=ed[u].size(),v,tcol=-1,vv,tfcnt;    int totc=0,tott=0;    for(i=0,j=0;i<sz;++i){        v=ed[u][i].second;        if (v==fa) continue;        if (tcol!=ed[u][i].first){            tcol=ed[u][i].first;            totc=0;            if (j<sz&&ed[u][j].second==fa) ++j;            for(;j<sz&&ed[u][j].first==tcol;++j){                vv=ed[u][j].second;                if (vv==fa) continue;                totc=totc+son[vv]-fc[vv];            }            tott+=totc;        }        ans+=((long long)son[u]-tott)*(son[v]-fc[v])*val[u];        if (ecol==ed[u][i].first) tfcnt=son[u]-totc;        else tfcnt=son[u]-totc+fcnt;        dfs2(v,u,ed[u][i].first,tfcnt);    }} int dfs1(int u,int fa,int ecol){    son[u]=1;    fc[u]=0;    int i,sz=ed[u].size(),v,tmp;    sort(ed[u].begin(),ed[u].end());    for(i=0;i<sz;++i){        if (ed[u][i].second==fa) continue;        v=ed[u][i].second;        tmp=dfs1(v,u,ed[u][i].first);        son[u]+=tmp;        if (ecol==ed[u][i].first) fc[u]+=tmp;    }    return son[u]-fc[u];} int main(){    int n,i,a,b,c;    while(scanf("%d",&n)!=EOF){        for(i=1;i<=n;++i){            scanf("%d",&val[i]);            ed[i].clear();        }        for(i=1;i<n;++i){            scanf("%d%d%d",&a,&b,&c);            ed[a].pb(make_pair(c,b));            ed[b].pb(make_pair(c,a));        }        dfs1(1,-1,-1);        ans=0;        dfs2(1,-1,-1,0);        printf("%I64d\n",ans);    }    return 0;}
                                                                                                   ^
0_0_20613636_5366.cpp:7:99: error: template argument 2 is invalid
0_0_20613636_5366.cpp:7:104: error: 'NN' was not declared in this scope
     using namespace std;#define pb push_back#define NN 301000 typedef pair<int,int> pii;vector<pii> ed[NN]; long long ans;int son[NN],fc[NN];int val[NN]; void dfs2(int u,int fa,int ecol,int fcnt){    ans+=((long long)son[u]-fc[u])*fcnt*val[u];    int i,j,sz=ed[u].size(),v,tcol=-1,vv,tfcnt;    int totc=0,tott=0;    for(i=0,j=0;i<sz;++i){        v=ed[u][i].second;        if (v==fa) continue;        if (tcol!=ed[u][i].first){            tcol=ed[u][i].first;            totc=0;            if (j<sz&&ed[u][j].second==fa) ++j;            for(;j<sz&&ed[u][j].first==tcol;++j){                vv=ed[u][j].second;                if (vv==fa) continue;                totc=totc+son[vv]-fc[vv];            }            tott+=totc;        }        ans+=((long long)son[u]-tott)*(son[v]-fc[v])*val[u];        if (ecol==ed[u][i].first) tfcnt=son[u]-totc;        else tfcnt=son[u]-totc+fcnt;        dfs2(v,u,ed[u][i].first,tfcnt);    }} int dfs1(int u,int fa,int ecol){    son[u]=1;    fc[u]=0;    int i,sz=ed[u].s


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-16 19:37:54, Gzip enabled