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_20613891_788.cpp:6:25: error: stray '#' in program
     using namespace std;#define MAXN 5555 struct Edge{    int v,next;}edge[MAXN*MAXN]; int n,m,NE;int head[MAXN]; void Insert(int u,int v){    edge[NE].v=v;    edge[NE].next=head[u];    head[u]=NE++;} int cnt,rt_son,block;int low[MAXN],dfn[MAXN];int blocks[MAXN];bool mark[MAXN]; void Tarjan(int u,int vv){    low[u]=dfn[u]=++cnt;    mark[u]=true;    for(int i=head[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==vv)continue;        if(dfn[v]==0){            Tarjan(v,vv);            low[u]=min(low[u],low[v]);            if(low[v]>=dfn[u]){               blocks[u]++;           }        }else if(mark[v]){            low[u]=min(low[u],dfn[v]);        }    }} int main(){    int u,v,ans;    while(~scanf("%d%d",&n,&m)){        NE=0;        memset(head,-1,sizeof(head));        while(m--){            scanf("%d%d",&u,&v);            Insert(u,v);            Insert(v,u);        }        ans=0;        for(int u=0;u<n;u++){            memset(mark,false,sizeof(mark));            memset(dfn,0,sizeof(dfn));            fill(blocks,blocks+n,1);            cnt=block=0;            for(int v=0;v<n;v++)if(u!=v&&!mark[v]){                block++;                blocks[v]=0;                Tarjan(v,u);            }            for(int v=0;v<n;v++)if(v!=u){                ans=max(ans,block+blocks[v]-1);            }        }        printf("%d\n",ans);    }    return 0;}
                         ^
0_0_20613891_788.cpp:6:26: error: 'define' does not name a type
     using namespace std;#define MAXN 5555 struct Edge{    int v,next;}edge[MAXN*MAXN]; int n,m,NE;int head[MAXN]; void Insert(int u,int v){    edge[NE].v=v;    edge[NE].next=head[u];    head[u]=NE++;} int cnt,rt_son,block;int low[MAXN],dfn[MAXN];int blocks[MAXN];bool mark[MAXN]; void Tarjan(int u,int vv){    low[u]=dfn[u]=++cnt;    mark[u]=true;    for(int i=head[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==vv)continue;        if(dfn[v]==0){            Tarjan(v,vv);            low[u]=min(low[u],low[v]);            if(low[v]>=dfn[u]){               blocks[u]++;           }        }else if(mark[v]){            low[u]=min(low[u],dfn[v]);        }    }} int main(){    int u,v,ans;    while(~scanf("%d%d",&n,&m)){        NE=0;        memset(head,-1,sizeof(head));        while(m--){            scanf("%d%d",&u,&v);            Insert(u,v);            Insert(v,u);        }        ans=0;        for(int u=0;u<n;u++){            memset(mark,false,sizeof(mark));            memset(dfn,0,sizeof(dfn));            fill(blocks,blocks+n,1);            cnt=block=0;            for(int v=0;v<n;v++)if(u!=v&&!mark[v]){                block++;                blocks[v]=0;                Tarjan(v,u);            }            for(int v=0;v<n;v++)if(v!=u){                ans=max(ans,block+blocks[v]-1);            }        }        printf("%d\n",ans);    }    return 0;}
                          ^
0_0_20613891_788.cpp:6:71: error: 'edge' does not name a type
     using namespace std;#define MAXN 5555 struct Edge{    int v,next;}edge[MAXN*MAXN]; int n,m,NE;int head[MAXN]; void Insert(int u,int v){    edge[NE].v=v;    edge[NE].next=head[u];    head[u]=NE++;} int cnt,rt_son,block;int low[MAXN],dfn[MAXN];int blocks[MAXN];bool mark[MAXN]; void Tarjan(int u,int vv){    low[u]=dfn[u]=++cnt;    mark[u]=true;    for(int i=head[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==vv)continue;        if(dfn[v]==0){            Tarjan(v,vv);            low[u]=min(low[u],low[v]);            if(low[v]>=dfn[u]){               blocks[u]++;           }        }else if(mark[v]){            low[u]=min(low[u],dfn[v]);        }    }} int main(){    int u,v,ans;    while(~scanf("%d%d",&n,&m)){        NE=0;        memset(head,-1,sizeof(head));        while(m--){            scanf("%d%d",&u,&v);            Insert(u,v);            Insert(v,u);        }        ans=0;        for(int u=0;u<n;u++){            memset(mark,false,sizeof(mark));            memset(dfn,0,sizeof(dfn));            fill(blocks,blocks+n,1);            cnt=block=0;            for(int v=0;v<n;v++)if(u!=v&&!mark[v]){                block++;                blocks[v]=0;                Tarjan(v,u);            }            for(int v=0;v<n;v++)if(v!=u){                ans=max(ans,block+blocks[v]-1);            }        }        printf("%d\n",ans);    }    return 0;}
                                                                       ^
0_0_20613891_788.cpp:6:108: error: 'MAXN' was not declared in this scope
     using namespace std;#define MAXN 5555 struct Edge{    int v,next;}edge[MAXN*MAXN]; int n,m,NE;int head[MAXN]; void Insert(int u,int v){    edge[NE].v=v;    edge[NE].next=head[u];    head[u]=NE++;} int cnt,rt_son,block;int low[MAXN],dfn[MAXN];int blocks[MAXN];bool mark[MAXN]; void Tarjan(int u,int vv){    low[u]=dfn[u]=++cnt;    mark[u]=true;    for(int i=head[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==vv)continue;        if(dfn[v]==0){            Tarjan(v,vv);            low[u]=min(low[u],low[v]);            if(low[v]>=dfn[u]){               blocks[u]++;           }        }else if(mark[v]){            low[u]=min(low[u],dfn[v]);        }    }} int main(){    int u,v,ans;    while(~scanf("%d%d",&n,&m)){        NE=0;        memset(head,-1,sizeof(head));        while(m--){            scanf("%d%d",&u,&v);            Insert(u,v);            Insert(v,u);        }        ans=0;        for(int u=0;u<n;u++){            memset(mark,false,sizeof(mark));            memset(dfn,0,sizeof(dfn));            fill(blocks,blocks+n,1);            cnt=block=0;            for(int v=0;v<n;v++)if(u!=v&&!mark[v]){                block++;                blocks[v]=0;                Tarjan(v,u);            }            for(int v=0;v<n;v++)if(v!=u){                ans=max(ans,block+blocks[v]-1);            }        }        printf("%d\n",ans);    }    return 0;}
                                                                                                            ^
0_0_20613891_788.cpp: In function 'void Insert(int, int)':
0_0_20613891_788.cpp:6:144: error: 'edge' was not declared in this scope
     using namespace std;#define MAXN 5555 struct Edge{    int v,next;}edge[MAXN*MAXN]; int n,m,NE;int head[MAXN]; void Insert(int u,int v){    edge[NE].v=v;    edge[NE].next=head[u];    head[u]=NE++;} int cnt,rt_son,block;int low[MAXN],dfn[MAXN];int blocks[MAXN];bool mark[MAXN]; void Tarjan(int u,int vv){    low[u]=dfn[u]=++cnt;    mark[u]=true;    for(int i=head[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==vv)continue;        if(dfn[v]==0){            Tarjan(v,vv);            low[u]=min(low[u],low[v]);            if(low[v]>=dfn[u]){               blocks[u]++;           }        }else if(mark[v]){            low[u]=min(low[u],dfn[v]);        }    }} int main(){    int u,v,ans;    while(~scanf("%d%d",&n,&m)){        NE=0;        memset(head,-1,sizeof(head));        while(m--){            scanf("%d%d",&u,&v);            Insert(u,v);            Insert(v,u);        }        ans=0;        for(int u=0;u<n;u++){            memset(mark,false,sizeof(mark));            memset(dfn,0,sizeof(dfn));            fill(blocks,blocks+n,1);            cnt=block=0;            for(int v=0;v<n;v++)if(u!=v&&!mark[v]){                block++;                blocks[v]=0;                Tarjan(v,u);            }            for(int v=0;v<n;v++)if(v!=u){                ans=max(ans,block+blocks[v]-1);            }        }        printf("%d\n",ans);    }    return 0;}
                                                                                                                                                ^
0_0_20613891_788.cpp:6:175: error: 'head' was not declared in this scope
     using namespace std;#define MAXN 5555 struct Edge{    int v,next;}edge[MAXN*MAXN]; int n,m,NE;int head[MAXN]; void Insert(int u,int v){    edge[NE].v=v;    edge[NE].next=head[u];    head[u]=NE++;} int cnt,rt_son,block;int low[MAXN],dfn[MAXN];int blocks[MAXN];bool mark[MAXN]; void Tarjan(int u,int vv){    low[u]=dfn[u]=++cnt;    mark[u]=true;    for(int i=head[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==vv)continue;        if(dfn[v]==0){            Tarjan(v,vv);            low[u]=min(low[u],low[v]);            if(low[v]>=dfn[u]){               blocks[u]++;           }        }else if(mark[v]){            low[u]=min(low[u],dfn[v]);        }    }} int main(){    int u,v,ans;    while(~scanf("%d%d",&n,&m)){        NE=0;        memset(head,-1,sizeof(head));        while(m--){            scanf("%d%d",&u,&v);            Insert(u,v);            Insert(v,u);        }        ans=0;        for(int u=0;u<n;u++){            memset(mark,false,sizeof(mark));            memset(dfn,0,sizeof(dfn));            fill(blocks,blocks+n,1);            cnt=block=0;            for(int v=0;v<n;v++)if(u!=v&&!mark[v]){                block++;                blocks[v]=0;                Tarjan(v,u);            }            for(int v=0;v<n;v++)if(v!=u){                ans=max(ans,block+blocks[v]-1);            }        }        printf("%d\n",ans);    }    return 0;}
                                                                                                                                                                               ^
0_0_20613891_788.cpp: At global scope:
0_0_20613891_788.cpp:6:231: error: 'MAXN' was not declared in this scope
     using namespace std;#define MAXN 5555 struct Edge{    int v,next;}edge[MAXN*MAXN]; int n,m,NE;int head[MAXN]; void Insert(int u,int v){    edge[NE].v=v;    edge[NE].next=head[u];    head[u]=NE++;} int cnt,rt_son,block;int low[MAXN],dfn[MAXN];int blocks[MAXN];bool mark[MAXN]; void Tarjan(int u,int vv){    low[u]=dfn[u]=++cnt;    mark[u]=true;    for(int i=head[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==vv)continue;        if(dfn[v]==0){            Tarjan(v,vv);            low[u]=min(low[u],low[v]);            if(low[v]>=dfn[u]){               blocks[u]++;           }        }else if(mark[v]){            low[u]=min(low[u],dfn[v]);        }    }} int main(){    int u,v,ans;    while(~scanf("%d%d",&n,&m))


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-12-02 08:41:05, Gzip enabled