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_20613130_4012.cpp:4:25: error: stray '#' in program
     using namespace std;#define MAX 1005int cnt;struct node{    int flag;    int next[26],fail;} head[MAX];queue<int> q;double pt[30],dp[MAX][30];void build(char *s,int idx){    int len=strlen(s),k;    for(int i=0; i<len; ++i)    {        k=s[i]-'a';        if(head[idx].next[k]==0)            head[idx].next[k]=(cnt++);        idx=head[idx].next[k];    }    head[idx].flag=1;}void build_fail(int idx){    int now;    queue<int> q;    head[idx].fail=0;    q.push(idx);    for(; !q.empty();)    {        now=q.front();        q.pop();        for(int i=0; i<26; ++i)            if(head[now].next[i])            {                if(now==0) head[head[now].next[i]].fail=0;                else       head[head[now].next[i]].fail=head[head[now].fail].next[i];                q.push(head[now].next[i]);            }            else            {                if(now==0) head[now].next[i]=0;                else       head[now].next[i]=head[head[now].fail].next[i];            }    }}int main(){    int n,m,v;    double t;    char s[1005];    for(; scanf("%d%d",&n,&m);)    {        if(n+m==0) break;        memset(pt,0,sizeof(pt));        memset(dp,0,sizeof(dp));        memset(head,0,sizeof(head));        cnt=1;        for(int i=1; i<=n; ++i)        {            scanf("%s%lf",s,&t);            pt[s[0]-'a']=t;        }        scanf("%s",s);        build(s,0);        build_fail(0);        dp[0][0]=1;        for(int i=0; i<m; ++i)            for(int j=0; j<cnt-1; ++j)                if(i>=j)                {                    for(int k=0; k<26; ++k)                    {                        v=head[j].next[k];                        dp[i+1][v]+=(dp[i][j]*pt[k]);                    }                }         double ans=0;        for(int i=0; i<=m; i++)            ans+=dp[i][cnt-1];        printf("%.2f%%\n",ans*100);    }    return 0;}
                         ^
0_0_20613130_4012.cpp:4:26: error: 'define' does not name a type
     using namespace std;#define MAX 1005int cnt;struct node{    int flag;    int next[26],fail;} head[MAX];queue<int> q;double pt[30],dp[MAX][30];void build(char *s,int idx){    int len=strlen(s),k;    for(int i=0; i<len; ++i)    {        k=s[i]-'a';        if(head[idx].next[k]==0)            head[idx].next[k]=(cnt++);        idx=head[idx].next[k];    }    head[idx].flag=1;}void build_fail(int idx){    int now;    queue<int> q;    head[idx].fail=0;    q.push(idx);    for(; !q.empty();)    {        now=q.front();        q.pop();        for(int i=0; i<26; ++i)            if(head[now].next[i])            {                if(now==0) head[head[now].next[i]].fail=0;                else       head[head[now].next[i]].fail=head[head[now].fail].next[i];                q.push(head[now].next[i]);            }            else            {                if(now==0) head[now].next[i]=0;                else       head[now].next[i]=head[head[now].fail].next[i];            }    }}int main(){    int n,m,v;    double t;    char s[1005];    for(; scanf("%d%d",&n,&m);)    {        if(n+m==0) break;        memset(pt,0,sizeof(pt));        memset(dp,0,sizeof(dp));        memset(head,0,sizeof(head));        cnt=1;        for(int i=1; i<=n; ++i)        {            scanf("%s%lf",s,&t);            pt[s[0]-'a']=t;        }        scanf("%s",s);        build(s,0);        build_fail(0);        dp[0][0]=1;        for(int i=0; i<m; ++i)            for(int j=0; j<cnt-1; ++j)                if(i>=j)                {                    for(int k=0; k<26; ++k)                    {                        v=head[j].next[k];                        dp[i+1][v]+=(dp[i][j]*pt[k]);                    }                }         double ans=0;        for(int i=0; i<=m; i++)            ans+=dp[i][cnt-1];        printf("%.2f%%\n",ans*100);    }    return 0;}
                          ^
0_0_20613130_4012.cpp:4:103: error: 'MAX' was not declared in this scope
     using namespace std;#define MAX 1005int cnt;struct node{    int flag;    int next[26],fail;} head[MAX];queue<int> q;double pt[30],dp[MAX][30];void build(char *s,int idx){    int len=strlen(s),k;    for(int i=0; i<len; ++i)    {        k=s[i]-'a';        if(head[idx].next[k]==0)            head[idx].next[k]=(cnt++);        idx=head[idx].next[k];    }    head[idx].flag=1;}void build_fail(int idx){    int now;    queue<int> q;    head[idx].fail=0;    q.push(idx);    for(; !q.empty();)    {        now=q.front();        q.pop();        for(int i=0; i<26; ++i)            if(head[now].next[i])            {                if(now==0) head[head[now].next[i]].fail=0;                else       head[head[now].next[i]].fail=head[head[now].fail].next[i];                q.push(head[now].next[i]);            }            else            {                if(now==0) head[now].next[i]=0;                else       head[now].next[i]=head[head[now].fail].next[i];            }    }}int main(){    int n,m,v;    double t;    char s[1005];    for(; scanf("%d%d",&n,&m);)    {        if(n+m==0) break;        memset(pt,0,sizeof(pt));        memset(dp,0,sizeof(dp));        memset(head,0,sizeof(head));        cnt=1;        for(int i=1; i<=n; ++i)        {            scanf("%s%lf",s,&t);            pt[s[0]-'a']=t;        }        scanf("%s",s);        build(s,0);        build_fail(0);        dp[0][0]=1;        for(int i=0; i<m; ++i)            for(int j=0; j<cnt-1; ++j)                if(i>=j)                {                    for(int k=0; k<26; ++k)                    {                        v=head[j].next[k];                        dp[i+1][v]+=(dp[i][j]*pt[k]);                    }                }         double ans=0;        for(int i=0; i<=m; i++)            ans+=dp[i][cnt-1];        printf("%.2f%%\n",ans*100);    }    return 0;}
                                                                                                       ^
0_0_20613130_4012.cpp:4:138: error: 'MAX' was not declared in this scope
     using namespace std;#define MAX 1005int cnt;struct node{    int flag;    int next[26],fail;} head[MAX];queue<int> q;double pt[30],dp[MAX][30];void build(char *s,int idx){    int len=strlen(s),k;    for(int i=0; i<len; ++i)    {        k=s[i]-'a';        if(head[idx].next[k]==0)            head[idx].next[k]=(cnt++);        idx=head[idx].next[k];    }    head[idx].flag=1;}void build_fail(int idx){    int now;    queue<int> q;    head[idx].fail=0;    q.push(idx);    for(; !q.empty();)    {        now=q.front();        q.pop();        for(int i=0; i<26; ++i)            if(head[now].next[i])            {                if(now==0) head[head[now].next[i]].fail=0;                else       head[head[now].next[i]].fail=head[head[now].fail].next[i];                q.push(head[now].next[i]);            }            else            {                if(now==0) head[now].next[i]=0;                else       head[now].next[i]=head[head[now].fail].next[i];            }    }}int main(){    int n,m,v;    double t;    char s[1005];    for(; scanf("%d%d",&n,&m);)    {        if(n+m==0) break;        memset(pt,0,sizeof(pt));        memset(dp,0,sizeof(dp));        memset(head,0,sizeof(head));        cnt=1;        for(int i=1; i<=n; ++i)        {            scanf("%s%lf",s,&t);            pt[s[0]-'a']=t;        }        scanf("%s",s);        build(s,0);        build_fail(0);        dp[0][0]=1;        for(int i=0; i<m; ++i)            for(int j=0; j<cnt-1; ++j)                if(i>=j)                {                    for(int k=0; k<26; ++k)                    {                        v=head[j].next[k];                        dp[i+1][v]+=(dp[i][j]*pt[k]);                    }                }         double ans=0;        for(int i=0; i<=m; i++)            ans+=dp[i][cnt-1];        printf("%.2f%%\n",ans*100);    }    return 0;}
                                                                                                                                          ^
0_0_20613130_4012.cpp: In function 'void build(char*, int)':
0_0_20613130_4012.cpp:4:262: error: 'head' was not declared in this scope
     using namespace std;#define MAX 1005int cnt;struct node{    int flag;    int next[26],fail;} head[MAX];queue<int> q;double pt[30],dp[MAX][30];void build(char *s,int idx){    int len=strlen(s),k;    for(int i=0; i<len; ++i)    {        k=s[i]-'a';        if(head[idx].next[k]==0)            head[idx].next[k]=(cnt++);        idx=head[idx].next[k];    }    head[idx].flag=1;}void build_fail(int idx){    int now;    queue<int> q;    head[idx].fail=0;    q.push(idx);    for(; !q.empty();)    {        now=q.front();        q.pop();        for(int i=0; i<26; ++i)            if(head[now].next[i])            {                if(now==0) head[head[now].next[i]].fail=0;                else       head[head[now].next[i]].fail=head[head[now].fail].next[i];                q.push(head[now].next[i]);            }            else            {                if(now==0) head[now].next[i]=0;                else       head[now].next[i]=head[head[now].fail].next[i];            }    }}int main(){    int n,m,v;    double t;    char s[1005];    for(; scanf("%d%d",&n,&m);)    {        if(n+m==0) break;        memset(pt,0,sizeof(pt));        memset(dp,0,sizeof(dp));        memset(head,0,sizeof(head));        cnt=1;        for(int i=1; i<=n; ++i)        {            scanf("%s%lf",s,&t);            pt[s[0]-'a']=t;        }        scanf("%s",s);        build(s,0);        build_fail(0);        dp[0][0]=1;        for(int i=0; i<m; ++i)            for(int j=0; j<cnt-1; ++j)                if(i>=j)                {                    for(int k=0; k<26; ++k)                    {                        v=head[j].next[k];                        dp[i+1][v]+=(dp[i][j]*pt[k]);                    }                }         double ans=0;        for(int i=0; i<=m; i++)            ans+=dp[i][cnt-1];        printf("%.2f%%\n",ans*100);    }    return 0;}
                                                                                                                                                                                                                                                                      ^


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2025 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2025-02-28 00:50:21, Gzip enabled