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_20614573_9828.cpp:4:51: error: stray '#' in program
      using namespace std ; typedef long long LL ; #define clr( a , x ) memset ( a , x , sizeof a ) const int MAXN = 505 ;const int mod = 1e9 + 7 ; int G[MAXN][2] , cnt ;int f[MAXN] ;int root[MAXN] , idx ;int is[MAXN] ;int num[MAXN] ;int dp[MAXN] , dp2[MAXN][MAXN] ;int n , cur ; void upd ( int& x , int y ) {    x += y ;    if ( x >= mod ) x -= mod ;} void preprocess () {    dp[0] = dp[1] = 1 ;    for ( int i = 2 ; i < MAXN ; ++ i ) {        for ( int j = 0 ; j < i ; ++ j ) {            upd ( dp[i] , ( LL ) dp[j] * dp[i - 1 - j] % mod ) ;        }    }} void dfs ( int u , int x ) {    int l = G[u][0] , r = G[u][1] ;    if ( is[u] == is[l] ) dfs ( l , x ) ;    if ( is[u] == is[r] ) dfs ( r , x ) ;    if ( is[l] != is[u] && is[r] != is[u] ) {        if ( !l && !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i + 1] ;            }        } else if ( !l ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i] ;            }        } else if ( !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i] ;            }        } else {            dp2[u][0] = 1 ;            for ( int i = 1 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;            }        }    } else if ( is[u] != is[l] ) {        if ( !l ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;                for ( int j = 0 ; j <= i ; ++ j ) {                    upd ( dp2[u][i] , ( LL ) dp[j] * dp2[r][i - j] % mod ) ;                }            }        } else {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp2[r][i] ;            }        }    } else if ( is[u] != is[r] ) {        if ( !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;                for ( int j = 0 ; j <= i ; ++ j ) {                    upd ( dp2[u][i] , ( LL ) dp[j] * dp2[l][i - j] % mod ) ;                }            }        } else {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp2[l][i] ;            }        }    } else {        for ( int i = 0 ; i <= x ; ++ i ) {            dp2[u][i] = 0 ;            for ( int j = 0 ; j <= i ; ++ j ) {                upd ( dp2[u][i] , ( LL ) dp2[l][j] * dp2[r][i - j] % mod ) ;            }        }    }} int newnode ( int x ) {    ++ cnt ;    G[cnt][0] = G[cnt][1] = 0 ;    f[cnt] = cur ;    is[cnt] = x ;    return cnt ;} void solve () {    int op , x ;    idx = cnt = 0 ;    cur = 1 ;    newnode ( 0 ) ;    for ( int i = 1 ; i <= n ; ++ i ) {        scanf ( "%d" , &op ) ;        if ( op == 0 ) cur = f[cur] ;        else if ( op <= 2 ) {            if ( !G[cur][op - 1] ) {                G[cur][op - 1] = newnode ( is[cur] ) ;                num[is[cur]] -- ;            }            cur = G[cur][op - 1] ;        } else {            scanf ( "%d" , &x ) ;            G[cur][op - 3] = newnode ( ++ idx ) ;            root[idx] = cnt ;            num[idx] = x - 1 ;        }    }    int ans = 1 ;    for ( int i = 1 ; i <= idx ; ++ i ) if ( num[i] ) {        dfs ( root[i] , num[i] ) ;        ans = ( LL ) ans * dp2[root[i]][num[i]] % mod ;    }    printf ( "%d\n" , ans ) ;} int main () {    int cas = 0 ;    preprocess () ;    while ( ~scanf ( "%d" , &n ) ) {        printf ( "Case #%d: " , ++ cas ) ;        solve () ;    }    return 0 ;}
                                                   ^
0_0_20614573_9828.cpp:4:52: error: 'define' does not name a type
      using namespace std ; typedef long long LL ; #define clr( a , x ) memset ( a , x , sizeof a ) const int MAXN = 505 ;const int mod = 1e9 + 7 ; int G[MAXN][2] , cnt ;int f[MAXN] ;int root[MAXN] , idx ;int is[MAXN] ;int num[MAXN] ;int dp[MAXN] , dp2[MAXN][MAXN] ;int n , cur ; void upd ( int& x , int y ) {    x += y ;    if ( x >= mod ) x -= mod ;} void preprocess () {    dp[0] = dp[1] = 1 ;    for ( int i = 2 ; i < MAXN ; ++ i ) {        for ( int j = 0 ; j < i ; ++ j ) {            upd ( dp[i] , ( LL ) dp[j] * dp[i - 1 - j] % mod ) ;        }    }} void dfs ( int u , int x ) {    int l = G[u][0] , r = G[u][1] ;    if ( is[u] == is[l] ) dfs ( l , x ) ;    if ( is[u] == is[r] ) dfs ( r , x ) ;    if ( is[l] != is[u] && is[r] != is[u] ) {        if ( !l && !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i + 1] ;            }        } else if ( !l ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i] ;            }        } else if ( !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i] ;            }        } else {            dp2[u][0] = 1 ;            for ( int i = 1 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;            }        }    } else if ( is[u] != is[l] ) {        if ( !l ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;                for ( int j = 0 ; j <= i ; ++ j ) {                    upd ( dp2[u][i] , ( LL ) dp[j] * dp2[r][i - j] % mod ) ;                }            }        } else {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp2[r][i] ;            }        }    } else if ( is[u] != is[r] ) {        if ( !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;                for ( int j = 0 ; j <= i ; ++ j ) {                    upd ( dp2[u][i] , ( LL ) dp[j] * dp2[l][i - j] % mod ) ;                }            }        } else {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp2[l][i] ;            }        }    } else {        for ( int i = 0 ; i <= x ; ++ i ) {            dp2[u][i] = 0 ;            for ( int j = 0 ; j <= i ; ++ j ) {                upd ( dp2[u][i] , ( LL ) dp2[l][j] * dp2[r][i - j] % mod ) ;            }        }    }} int newnode ( int x ) {    ++ cnt ;    G[cnt][0] = G[cnt][1] = 0 ;    f[cnt] = cur ;    is[cnt] = x ;    return cnt ;} void solve () {    int op , x ;    idx = cnt = 0 ;    cur = 1 ;    newnode ( 0 ) ;    for ( int i = 1 ; i <= n ; ++ i ) {        scanf ( "%d" , &op ) ;        if ( op == 0 ) cur = f[cur] ;        else if ( op <= 2 ) {            if ( !G[cur][op - 1] ) {                G[cur][op - 1] = newnode ( is[cur] ) ;                num[is[cur]] -- ;            }            cur = G[cur][op - 1] ;        } else {            scanf ( "%d" , &x ) ;            G[cur][op - 3] = newnode ( ++ idx ) ;            root[idx] = cnt ;            num[idx] = x - 1 ;        }    }    int ans = 1 ;    for ( int i = 1 ; i <= idx ; ++ i ) if ( num[i] ) {        dfs ( root[i] , num[i] ) ;        ans = ( LL ) ans * dp2[root[i]][num[i]] % mod ;    }    printf ( "%d\n" , ans ) ;} int main () {    int cas = 0 ;    preprocess () ;    while ( ~scanf ( "%d" , &n ) ) {        printf ( "Case #%d: " , ++ cas ) ;        solve () ;    }    return 0 ;}
                                                    ^
0_0_20614573_9828.cpp:4:154: error: 'MAXN' was not declared in this scope
      using namespace std ; typedef long long LL ; #define clr( a , x ) memset ( a , x , sizeof a ) const int MAXN = 505 ;const int mod = 1e9 + 7 ; int G[MAXN][2] , cnt ;int f[MAXN] ;int root[MAXN] , idx ;int is[MAXN] ;int num[MAXN] ;int dp[MAXN] , dp2[MAXN][MAXN] ;int n , cur ; void upd ( int& x , int y ) {    x += y ;    if ( x >= mod ) x -= mod ;} void preprocess () {    dp[0] = dp[1] = 1 ;    for ( int i = 2 ; i < MAXN ; ++ i ) {        for ( int j = 0 ; j < i ; ++ j ) {            upd ( dp[i] , ( LL ) dp[j] * dp[i - 1 - j] % mod ) ;        }    }} void dfs ( int u , int x ) {    int l = G[u][0] , r = G[u][1] ;    if ( is[u] == is[l] ) dfs ( l , x ) ;    if ( is[u] == is[r] ) dfs ( r , x ) ;    if ( is[l] != is[u] && is[r] != is[u] ) {        if ( !l && !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i + 1] ;            }        } else if ( !l ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i] ;            }        } else if ( !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp[i] ;            }        } else {            dp2[u][0] = 1 ;            for ( int i = 1 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;            }        }    } else if ( is[u] != is[l] ) {        if ( !l ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;                for ( int j = 0 ; j <= i ; ++ j ) {                    upd ( dp2[u][i] , ( LL ) dp[j] * dp2[r][i - j] % mod ) ;                }            }        } else {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp2[r][i] ;            }        }    } else if ( is[u] != is[r] ) {        if ( !r ) {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = 0 ;                for ( int j = 0 ; j <= i ; ++ j ) {                    upd ( dp2[u][i] , ( LL ) dp[j] * dp2[l][i - j] % mod ) ;                }            }        } else {            for ( int i = 0 ; i <= x ; ++ i ) {                dp2[u][i] = dp2[l][i] ;            }        }    } else {        for ( int i = 0 ; i <= x ; ++ i ) {            dp2[u][i] = 0 ;            for ( int j = 0 ; j <= i ; ++ j ) {                upd ( dp2[u][i] , ( LL ) dp2[l][j] * dp2[r][i - j] % mod ) ;            }        }    }} int newnode ( int x ) {    ++ cnt ;    G[cnt][0] = G[cnt][1] = 0 ;    f[cnt] = cur ;    is[cnt] = x ;    return cnt ;} void solve () {    int op , x ;    idx = cnt = 0 ;    cur = 1 ;    newnode ( 0 ) ;    for ( int i = 1 ; i <= n ; ++ i ) {        scanf ( "%d" , &op ) ;        if ( op == 0 ) cur = f[cur] ;        else if ( op <= 2 ) {            if ( !G[cur][op - 1] ) {                G[cur][op - 1] = newnode ( is[cur] ) ;                num[is[cur]] -- ;            }            cur = G[cur][op - 1] ;        } else {            scanf ( "%d" , &x ) ;            G[cur][op - 3] = newnode ( ++ idx ) ;            root[idx] = cnt ;            num[idx] = x - 1 ;        }    }    int ans = 1 ;    for ( int i = 1 ; i <= idx ; ++ i ) if ( num[i] ) {        dfs ( root[i] , num[i] ) ;        ans = ( LL ) ans * dp2[root[i]][num[i]] % mod ;    }    printf ( "%d\n" , ans ) ;} int 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-11-17 01:42:03, Gzip enabled