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_20613610_8030.cpp:10:17: error: stray '#' in program
     (b)?(a):(b))#define pb(a) push_back(a)#define mem(a,b) memset(a,b,sizeof(a))#define LL long long#define MOD 1000000007using namespace std;struct Node{    int v,next;}edge[N*2];int n,start[N],tot;int up[N],low[N];void addedge(int u,int v){    edge[tot].v=v;    edge[tot].next=start[u];    start[u]=tot++;}void _addedge(int u,int v){    addedge(u,v);    addedge(v,u);}bool ans;void dfs(int u,int pre){    if(ans) return;    if(up[u]!=-1&&low[u]>up[u]){ans=true;return;}    int tmp=0;    int leaf=1;    for(int i=start[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==pre) continue;        dfs(v,u);        leaf=0;        tmp+=low[v];    }    if(leaf) return;    low[u]=max(tmp+1,low[u]);    if(up[u]!=-1&&low[u]>up[u]) ans=true;}int main(){    while(scanf("%d",&n)!=EOF){        tot=0;mem(start,-1);        for(int i=2;i<=n;i++){            int u;            scanf("%d",&u);            _addedge(u,i);        }        int m;        for(int i=1;i<=n;i++){low[i]=1;up[i]=-1;}        scanf("%d",&m);        for(int i=0;i<m;i++){            int u,w;            char str[5];            scanf("%d%s%d",&u,str,&w);            if(str[0]=='<') up[u]=w-1;            else if(str[0]=='>') low[u]=w+1;            else low[u]=up[u]=w;        }        ans=false;        dfs(1,0);        puts(ans?"Lie":"True");    }    return 0;}
                 ^
0_0_20613610_8030.cpp:10:43: error: stray '#' in program
     (b)?(a):(b))#define pb(a) push_back(a)#define mem(a,b) memset(a,b,sizeof(a))#define LL long long#define MOD 1000000007using namespace std;struct Node{    int v,next;}edge[N*2];int n,start[N],tot;int up[N],low[N];void addedge(int u,int v){    edge[tot].v=v;    edge[tot].next=start[u];    start[u]=tot++;}void _addedge(int u,int v){    addedge(u,v);    addedge(v,u);}bool ans;void dfs(int u,int pre){    if(ans) return;    if(up[u]!=-1&&low[u]>up[u]){ans=true;return;}    int tmp=0;    int leaf=1;    for(int i=start[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==pre) continue;        dfs(v,u);        leaf=0;        tmp+=low[v];    }    if(leaf) return;    low[u]=max(tmp+1,low[u]);    if(up[u]!=-1&&low[u]>up[u]) ans=true;}int main(){    while(scanf("%d",&n)!=EOF){        tot=0;mem(start,-1);        for(int i=2;i<=n;i++){            int u;            scanf("%d",&u);            _addedge(u,i);        }        int m;        for(int i=1;i<=n;i++){low[i]=1;up[i]=-1;}        scanf("%d",&m);        for(int i=0;i<m;i++){            int u,w;            char str[5];            scanf("%d%s%d",&u,str,&w);            if(str[0]=='<') up[u]=w-1;            else if(str[0]=='>') low[u]=w+1;            else low[u]=up[u]=w;        }        ans=false;        dfs(1,0);        puts(ans?"Lie":"True");    }    return 0;}
                                           ^
0_0_20613610_8030.cpp:10:81: error: stray '#' in program
     (b)?(a):(b))#define pb(a) push_back(a)#define mem(a,b) memset(a,b,sizeof(a))#define LL long long#define MOD 1000000007using namespace std;struct Node{    int v,next;}edge[N*2];int n,start[N],tot;int up[N],low[N];void addedge(int u,int v){    edge[tot].v=v;    edge[tot].next=start[u];    start[u]=tot++;}void _addedge(int u,int v){    addedge(u,v);    addedge(v,u);}bool ans;void dfs(int u,int pre){    if(ans) return;    if(up[u]!=-1&&low[u]>up[u]){ans=true;return;}    int tmp=0;    int leaf=1;    for(int i=start[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==pre) continue;        dfs(v,u);        leaf=0;        tmp+=low[v];    }    if(leaf) return;    low[u]=max(tmp+1,low[u]);    if(up[u]!=-1&&low[u]>up[u]) ans=true;}int main(){    while(scanf("%d",&n)!=EOF){        tot=0;mem(start,-1);        for(int i=2;i<=n;i++){            int u;            scanf("%d",&u);            _addedge(u,i);        }        int m;        for(int i=1;i<=n;i++){low[i]=1;up[i]=-1;}        scanf("%d",&m);        for(int i=0;i<m;i++){            int u,w;            char str[5];            scanf("%d%s%d",&u,str,&w);            if(str[0]=='<') up[u]=w-1;            else if(str[0]=='>') low[u]=w+1;            else low[u]=up[u]=w;        }        ans=false;        dfs(1,0);        puts(ans?"Lie":"True");    }    return 0;}
                                                                                 ^
0_0_20613610_8030.cpp:10:101: error: stray '#' in program
     (b)?(a):(b))#define pb(a) push_back(a)#define mem(a,b) memset(a,b,sizeof(a))#define LL long long#define MOD 1000000007using namespace std;struct Node{    int v,next;}edge[N*2];int n,start[N],tot;int up[N],low[N];void addedge(int u,int v){    edge[tot].v=v;    edge[tot].next=start[u];    start[u]=tot++;}void _addedge(int u,int v){    addedge(u,v);    addedge(v,u);}bool ans;void dfs(int u,int pre){    if(ans) return;    if(up[u]!=-1&&low[u]>up[u]){ans=true;return;}    int tmp=0;    int leaf=1;    for(int i=start[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==pre) continue;        dfs(v,u);        leaf=0;        tmp+=low[v];    }    if(leaf) return;    low[u]=max(tmp+1,low[u]);    if(up[u]!=-1&&low[u]>up[u]) ans=true;}int main(){    while(scanf("%d",&n)!=EOF){        tot=0;mem(start,-1);        for(int i=2;i<=n;i++){            int u;            scanf("%d",&u);            _addedge(u,i);        }        int m;        for(int i=1;i<=n;i++){low[i]=1;up[i]=-1;}        scanf("%d",&m);        for(int i=0;i<m;i++){            int u,w;            char str[5];            scanf("%d%s%d",&u,str,&w);            if(str[0]=='<') up[u]=w-1;            else if(str[0]=='>') low[u]=w+1;            else low[u]=up[u]=w;        }        ans=false;        dfs(1,0);        puts(ans?"Lie":"True");    }    return 0;}
                                                                                                     ^
0_0_20613610_8030.cpp:10:8: error: expected constructor, destructor, or type conversion before '?' token
     (b)?(a):(b))#define pb(a) push_back(a)#define mem(a,b) memset(a,b,sizeof(a))#define LL long long#define MOD 1000000007using namespace std;struct Node{    int v,next;}edge[N*2];int n,start[N],tot;int up[N],low[N];void addedge(int u,int v){    edge[tot].v=v;    edge[tot].next=start[u];    start[u]=tot++;}void _addedge(int u,int v){    addedge(u,v);    addedge(v,u);}bool ans;void dfs(int u,int pre){    if(ans) return;    if(up[u]!=-1&&low[u]>up[u]){ans=true;return;}    int tmp=0;    int leaf=1;    for(int i=start[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==pre) continue;        dfs(v,u);        leaf=0;        tmp+=low[v];    }    if(leaf) return;    low[u]=max(tmp+1,low[u]);    if(up[u]!=-1&&low[u]>up[u]) ans=true;}int main(){    while(scanf("%d",&n)!=EOF){        tot=0;mem(start,-1);        for(int i=2;i<=n;i++){            int u;            scanf("%d",&u);            _addedge(u,i);        }        int m;        for(int i=1;i<=n;i++){low[i]=1;up[i]=-1;}        scanf("%d",&m);        for(int i=0;i<m;i++){            int u,w;            char str[5];            scanf("%d%s%d",&u,str,&w);            if(str[0]=='<') up[u]=w-1;            else if(str[0]=='>') low[u]=w+1;            else low[u]=up[u]=w;        }        ans=false;        dfs(1,0);        puts(ans?"Lie":"True");    }    return 0;}
        ^
0_0_20613610_8030.cpp:10:176: error: 'N' was not declared in this scope
     (b)?(a):(b))#define pb(a) push_back(a)#define mem(a,b) memset(a,b,sizeof(a))#define LL long long#define MOD 1000000007using namespace std;struct Node{    int v,next;}edge[N*2];int n,start[N],tot;int up[N],low[N];void addedge(int u,int v){    edge[tot].v=v;    edge[tot].next=start[u];    start[u]=tot++;}void _addedge(int u,int v){    addedge(u,v);    addedge(v,u);}bool ans;void dfs(int u,int pre){    if(ans) return;    if(up[u]!=-1&&low[u]>up[u]){ans=true;return;}    int tmp=0;    int leaf=1;    for(int i=start[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==pre) continue;        dfs(v,u);        leaf=0;        tmp+=low[v];    }    if(leaf) return;    low[u]=max(tmp+1,low[u]);    if(up[u]!=-1&&low[u]>up[u]) ans=true;}int main(){    while(scanf("%d",&n)!=EOF){        tot=0;mem(start,-1);        for(int i=2;i<=n;i++){            int u;            scanf("%d",&u);            _addedge(u,i);        }        int m;        for(int i=1;i<=n;i++){low[i]=1;up[i]=-1;}        scanf("%d",&m);        for(int i=0;i<m;i++){            int u,w;            char str[5];            scanf("%d%s%d",&u,str,&w);            if(str[0]=='<') up[u]=w-1;            else if(str[0]=='>') low[u]=w+1;            else low[u]=up[u]=w;        }        ans=false;        dfs(1,0);        puts(ans?"Lie":"True");    }    return 0;}
                                                                                                                                                                                ^
0_0_20613610_8030.cpp:10:193: error: 'N' was not declared in this scope
     (b)?(a):(b))#define pb(a) push_back(a)#define mem(a,b) memset(a,b,sizeof(a))#define LL long long#define MOD 1000000007using namespace std;struct Node{    int v,next;}edge[N*2];int n,start[N],tot;int up[N],low[N];void addedge(int u,int v){    edge[tot].v=v;    edge[tot].next=start[u];    start[u]=tot++;}void _addedge(int u,int v){    addedge(u,v);    addedge(v,u);}bool ans;void dfs(int u,int pre){    if(ans) return;    if(up[u]!=-1&&low[u]>up[u]){ans=true;return;}    int tmp=0;    int leaf=1;    for(int i=start[u];i!=-1;i=edge[i].next){        int v=edge[i].v;        if(v==pre) continue;        dfs(v,u);        leaf=0;        tmp+=low[v];    }    if(leaf) return;    low[u]=max(tmp+1,low[u]);    if(up[u]!=-1&&low[u]>up[u]) ans=true;}int main(){    while(scanf("%d",&n)!=EOF){        tot=0;mem(start,-1);        for(int i=2;i<=n;i++){            int u;            scanf("%d",&u);            _addedge(u,i);        }        int m;        for(int i=1;i<=n;i++){low[i]=1;up[i]=-1;}        scanf("%d",&m);        for(int i=0;i<m;i++){            int u,w;            char str[5];            scanf("%d%s%d",&u,str,&w);            if(str[0]=='<') up[u]=w-1;            else if(str[0]=='>') low[u]=w+1;            else low[u]=up[u]=w;        }        ans


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-06-29 21:28:44, Gzip enabled