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_20614226_17730.cpp:7:6: error: 'e' does not name a type
      e[maxn];vector<node> vec;int bel[maxn],A[maxn],B[maxn],dp[maxn][2],vis[maxn];;bool cmp(const node &x,const node &y){    return x.B>y.B;}void init(int n){    for(int i=1;i<=n;i++)    e[i].clear();}void dfs1(int now){    if(dp[now][0]!=-1)    return;    if(bel[now]==-1){        dp[now][0]=A[now];        dp[now][1]=B[now];        return;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs1(v);        if(bel[now]==0){            if(dp[v][0]>dp[now][0]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }        else{            if(dp[v][1]>dp[now][1]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }    }}int dfs2(int now,int limit){    if(vis[now]!=-1)    return vis[now];    if(bel[now]==-1){        if(A[now]>limit)        return vis[now]=0;        return vis[now]=1;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs2(v,limit);    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        if(bel[now]==0){            if(!vis[v])            return vis[now]=0;        }        else if(vis[v])        return vis[now]=1;    }    if(bel[now]==0)    return vis[now]=1;    return vis[now]=0;}int dfs3(int now,int limit){    if(bel[now]==-1){        return limit==A[now];    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        if(vis[v]==1&&dfs3(v,limit))        return 1;    }    return 0;}int main(){    int ncase,n,num,x;    char typ[4];    scanf("%d",&ncase);    while(ncase--){        scanf("%d",&n);        init(n);        vec.clear();        memset(bel,-1,sizeof(bel));        memset(dp,-1,sizeof(dp));        for(int i=1;i<=n;i++){            scanf("%d",&num);            if(num==0){                scanf("%d%d",&A[i],&B[i]);                vec.push_back(node(i,A[i],B[i]));            }            else{                for(int j=0;j<num;j++){                    scanf("%d",&x);                    e[i].push_back(x);                }                scanf("%s",typ);                if(typ[0]=='A')                bel[i]=0;                else                bel[i]=1;            }        }        dfs1(1);        int ans1=dp[1][1];        sort(vec.begin(),vec.end(),cmp);        int ans2=-1;        for(int i=0;i<(int)vec.size();i++){            memset(vis,-1,sizeof(vis));            int now=vec[i].id;            if(dp[now][0]==-1)            continue;            if(dfs2(1,vec[i].A)){                if(dfs3(1,vec[i].A)){                    ans2=vec[i].B;                    break;                }            }        }        printf("%d %d\n",ans1,ans2);    }    return 0;}
      ^
0_0_20614226_17730.cpp:6:136: error: 'vector' does not name a type
     #define maxn 210using namespace std;struct node{    int id,A,B;    node(){}    node(int x,int y,int z){        id=x,A=y,B=z;    }};vector<int>
                                                                                                                                        ^
0_0_20614226_17730.cpp:7:8: note: in expansion of macro 'maxn'
      e[maxn];vector<node> vec;int bel[maxn],A[maxn],B[maxn],dp[maxn][2],vis[maxn];;bool cmp(const node &x,const node &y){    return x.B>y.B;}void init(int n){    for(int i=1;i<=n;i++)    e[i].clear();}void dfs1(int now){    if(dp[now][0]!=-1)    return;    if(bel[now]==-1){        dp[now][0]=A[now];        dp[now][1]=B[now];        return;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs1(v);        if(bel[now]==0){            if(dp[v][0]>dp[now][0]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }        else{            if(dp[v][1]>dp[now][1]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }    }}int dfs2(int now,int limit){    if(vis[now]!=-1)    return vis[now];    if(bel[now]==-1){        if(A[now]>limit)        return vis[now]=0;        return vis[now]=1;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs2(v,limit);    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        if(bel[now]==0){            if(!vis[v])            return vis[now]=0;        }        else if(vis[v])        return vis[now]=1;    }    if(bel[now]==0)    return vis[now]=1;    return vis[now]=0;}int dfs3(int now,int limit){    if(bel[now]==-1){        return limit==A[now];    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        if(vis[v]==1&&dfs3(v,limit))        return 1;    }    return 0;}int main(){    int ncase,n,num,x;    char typ[4];    scanf("%d",&ncase);    while(ncase--){        scanf("%d",&n);        init(n);        vec.clear();        memset(bel,-1,sizeof(bel));        memset(dp,-1,sizeof(dp));        for(int i=1;i<=n;i++){            scanf("%d",&num);            if(num==0){                scanf("%d%d",&A[i],&B[i]);                vec.push_back(node(i,A[i],B[i]));            }            else{                for(int j=0;j<num;j++){                    scanf("%d",&x);                    e[i].push_back(x);                }                scanf("%s",typ);                if(typ[0]=='A')                bel[i]=0;                else                bel[i]=1;            }        }        dfs1(1);        int ans1=dp[1][1];        sort(vec.begin(),vec.end(),cmp);        int ans2=-1;        for(int i=0;i<(int)vec.size();i++){            memset(vis,-1,sizeof(vis));            int now=vec[i].id;            if(dp[now][0]==-1)            continue;            if(dfs2(1,vec[i].A)){                if(dfs3(1,vec[i].A)){                    ans2=vec[i].B;                    break;                }            }        }        printf("%d %d\n",ans1,ans2);    }    return 0;}
        ^
0_0_20614226_17730.cpp:7:14: error: 'vector' does not name a type
      e[maxn];vector<node> vec;int bel[maxn],A[maxn],B[maxn],dp[maxn][2],vis[maxn];;bool cmp(const node &x,const node &y){    return x.B>y.B;}void init(int n){    for(int i=1;i<=n;i++)    e[i].clear();}void dfs1(int now){    if(dp[now][0]!=-1)    return;    if(bel[now]==-1){        dp[now][0]=A[now];        dp[now][1]=B[now];        return;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs1(v);        if(bel[now]==0){            if(dp[v][0]>dp[now][0]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }        else{            if(dp[v][1]>dp[now][1]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }    }}int dfs2(int now,int limit){    if(vis[now]!=-1)    return vis[now];    if(bel[now]==-1){        if(A[now]>limit)        return vis[now]=0;        return vis[now]=1;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs2(v,limit);    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        if(bel[now]==0){            if(!vis[v])            return vis[now]=0;        }        else if(vis[v])        return vis[now]=1;    }    if(bel[now]==0)    return vis[now]=1;    return vis[now]=0;}int dfs3(int now,int limit){    if(bel[now]==-1){        return limit==A[now];    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        if(vis[v]==1&&dfs3(v,limit))        return 1;    }    return 0;}int main(){    int ncase,n,num,x;    char typ[4];    scanf("%d",&ncase);    while(ncase--){        scanf("%d",&n);        init(n);        vec.clear();        memset(bel,-1,sizeof(bel));        memset(dp,-1,sizeof(dp));        for(int i=1;i<=n;i++){            scanf("%d",&num);            if(num==0){                scanf("%d%d",&A[i],&B[i]);                vec.push_back(node(i,A[i],B[i]));            }            else{                for(int j=0;j<num;j++){                    scanf("%d",&x);                    e[i].push_back(x);                }                scanf("%s",typ);                if(typ[0]=='A')                bel[i]=0;                else                bel[i]=1;            }        }        dfs1(1);        int ans1=dp[1][1];        sort(vec.begin(),vec.end(),cmp);        int ans2=-1;        for(int i=0;i<(int)vec.size();i++){            memset(vis,-1,sizeof(vis));            int now=vec[i].id;            if(dp[now][0]==-1)            continue;            if(dfs2(1,vec[i].A)){                if(dfs3(1,vec[i].A)){                    ans2=vec[i].B;                    break;                }            }        }        printf("%d %d\n",ans1,ans2);    }    return 0;}
              ^
0_0_20614226_17730.cpp:6:18: error: unable to find numeric literal operator 'operator""using'
     #define maxn 210using namespace std;struct node{    int id,A,B;    node(){}    node(int x,int y,int z){        id=x,A=y,B=z;    }};vector<int>
                  ^
0_0_20614226_17730.cpp:7:39: note: in expansion of macro 'maxn'
      e[maxn];vector<node> vec;int bel[maxn],A[maxn],B[maxn],dp[maxn][2],vis[maxn];;bool cmp(const node &x,const node &y){    return x.B>y.B;}void init(int n){    for(int i=1;i<=n;i++)    e[i].clear();}void dfs1(int now){    if(dp[now][0]!=-1)    return;    if(bel[now]==-1){        dp[now][0]=A[now];        dp[now][1]=B[now];        return;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs1(v);        if(bel[now]==0){            if(dp[v][0]>dp[now][0]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }        else{            if(dp[v][1]>dp[now][1]){                dp[now][0]=dp[v][0];                dp[now][1]=dp[v][1];            }        }    }}int dfs2(int now,int limit){    if(vis[now]!=-1)    return vis[now];    if(bel[now]==-1){        if(A[now]>limit)        return vis[now]=0;        return vis[now]=1;    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        dfs2(v,limit);    }    for(int i=0;i<e[now].size();i++){        int v=e[now][i];        if(bel[now]==0){            if(!vis[v])            return vis[now]=0;        }        else if(vis[v])        return vis[now]=1;    }    if(bel[now]==0)    return vis[now]=1;    return vis[now]=0;}int dfs3(int now,int limit){    if(bel[no


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-27 00:37:56, Gzip enabled