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_20613273_375.cpp:15:25: error: '#' is not followed by a macro parameter
      #define CL(arr, val)    memset(arr, val, sizeof(arr))#define REP(i, n)       for((i) = 0; (i) < (n); ++(i))#define FOR(i, l, h)    for((i) = (l); (i) <= (h); ++(i))#define FORD(i, h, l)   for((i) = (h); (i) >
                         ^
0_0_20613273_375.cpp:16:18: error: stray '#' in program
     = (l); --(i))#define L(x)    (x) << 1#define R(x)    (x) << 1 | 1#define MID(l, r)   (l + r) >> 1#define Min(x, y)   (x) < (y) ? (x) : (y)#define Max(x, y)   (x) < (y) ? (y) : (x)#define E(x)        (1 << (x))#define iabs(x)     (x) < 0 ? -(x) : (x)#define OUT(x)  printf("%lld\n", x) typedef long long LL;const double eps = 1e-6;const double PI = acos(-1.0);const int inf = 0x1F1F1F1F; using namespace std; const int N = 100010;const int MOD = 1000000007; int n;int pre[N];bool vis[2][N];int v[N], e[N];int vv[N<<1], ee[N<<1]; void get_next(int P[]) {    int i, j = -1;    pre[0] = -1;    for(i = 1; i < n; ++i) {        while(j > -1 && P[j+1] != P[i]) j = pre[j];        if(P[j + 1] == P[i])    ++j;        pre[i] = j;    }} void kmp(int T[], int P[], int f) {    get_next(P);    int i, k;    for(k = -1, i = 0; i < (n<<1); ++i) {        while(k > -1 && P[k+1] != T[i]) k = pre[k];        if(P[k+1] == T[i])  ++k;        if(k == n - 1)  {            vis[f][i - n + 1] = true;            k = pre[k];        }    }} LL Pow(LL a, int b) {    LL res = 1;    while(b) {        if(b&1) res = (res*a)%MOD;        a = (a*a)%MOD;        b >>= 1;    }    return res;} int exp_gcd(int a, int b, int& x, int& y) {    if(b == 0) {        x = 1; y = 0;        return a;    }    int d = exp_gcd(b, a%b, y, x);      y -= a/b*x;                     return d;} int Inv(int c) {    int x, y;    exp_gcd(c, MOD, x, y);    return x < 0 ? x + MOD : x;} int gcd(int a, int b) {    return b == 0 ? a : gcd(b, a%b);} int main() {    int T, c, cnt, i;    LL ans;    scanf("%d", &T);    while(T--) {        scanf("%d%d", &n, &c);        for(i = 0; i < n; ++i)  {scanf("%d", &v[i]); vv[i] = vv[i+n] = v[i];}        for(i = 0; i < n; ++i)  {scanf("%d", &e[i]); ee[i] = ee[i+n] = e[i];}        CL(vis, false);        kmp(vv, v, 0);        kmp(ee, e, 1);        ans = cnt = 0;         for(i = 1; i <= n; ++i) {            if(vis[0][i] && vis[1][i]) {                ans += Pow(c, gcd(i, n));                ans %= MOD;                cnt++;            }        }        ans = ans*Inv(cnt)%MOD;        cout << ans << endl;    }    return 0;}
                  ^
0_0_20613273_375.cpp:16:42: error: stray '#' in program
     = (l); --(i))#define L(x)    (x) << 1#define R(x)    (x) << 1 | 1#define MID(l, r)   (l + r) >> 1#define Min(x, y)   (x) < (y) ? (x) : (y)#define Max(x, y)   (x) < (y) ? (y) : (x)#define E(x)        (1 << (x))#define iabs(x)     (x) < 0 ? -(x) : (x)#define OUT(x)  printf("%lld\n", x) typedef long long LL;const double eps = 1e-6;const double PI = acos(-1.0);const int inf = 0x1F1F1F1F; using namespace std; const int N = 100010;const int MOD = 1000000007; int n;int pre[N];bool vis[2][N];int v[N], e[N];int vv[N<<1], ee[N<<1]; void get_next(int P[]) {    int i, j = -1;    pre[0] = -1;    for(i = 1; i < n; ++i) {        while(j > -1 && P[j+1] != P[i]) j = pre[j];        if(P[j + 1] == P[i])    ++j;        pre[i] = j;    }} void kmp(int T[], int P[], int f) {    get_next(P);    int i, k;    for(k = -1, i = 0; i < (n<<1); ++i) {        while(k > -1 && P[k+1] != T[i]) k = pre[k];        if(P[k+1] == T[i])  ++k;        if(k == n - 1)  {            vis[f][i - n + 1] = true;            k = pre[k];        }    }} LL Pow(LL a, int b) {    LL res = 1;    while(b) {        if(b&1) res = (res*a)%MOD;        a = (a*a)%MOD;        b >>= 1;    }    return res;} int exp_gcd(int a, int b, int& x, int& y) {    if(b == 0) {        x = 1; y = 0;        return a;    }    int d = exp_gcd(b, a%b, y, x);      y -= a/b*x;                     return d;} int Inv(int c) {    int x, y;    exp_gcd(c, MOD, x, y);    return x < 0 ? x + MOD : x;} int gcd(int a, int b) {    return b == 0 ? a : gcd(b, a%b);} int main() {    int T, c, cnt, i;    LL ans;    scanf("%d", &T);    while(T--) {        scanf("%d%d", &n, &c);        for(i = 0; i < n; ++i)  {scanf("%d", &v[i]); vv[i] = vv[i+n] = v[i];}        for(i = 0; i < n; ++i)  {scanf("%d", &e[i]); ee[i] = ee[i+n] = e[i];}        CL(vis, false);        kmp(vv, v, 0);        kmp(ee, e, 1);        ans = cnt = 0;         for(i = 1; i <= n; ++i) {            if(vis[0][i] && vis[1][i]) {                ans += Pow(c, gcd(i, n));                ans %= MOD;                cnt++;            }        }        ans = ans*Inv(cnt)%MOD;        cout << ans << endl;    }    return 0;}
                                          ^
0_0_20613273_375.cpp:16:70: error: stray '#' in program
     = (l); --(i))#define L(x)    (x) << 1#define R(x)    (x) << 1 | 1#define MID(l, r)   (l + r) >> 1#define Min(x, y)   (x) < (y) ? (x) : (y)#define Max(x, y)   (x) < (y) ? (y) : (x)#define E(x)        (1 << (x))#define iabs(x)     (x) < 0 ? -(x) : (x)#define OUT(x)  printf("%lld\n", x) typedef long long LL;const double eps = 1e-6;const double PI = acos(-1.0);const int inf = 0x1F1F1F1F; using namespace std; const int N = 100010;const int MOD = 1000000007; int n;int pre[N];bool vis[2][N];int v[N], e[N];int vv[N<<1], ee[N<<1]; void get_next(int P[]) {    int i, j = -1;    pre[0] = -1;    for(i = 1; i < n; ++i) {        while(j > -1 && P[j+1] != P[i]) j = pre[j];        if(P[j + 1] == P[i])    ++j;        pre[i] = j;    }} void kmp(int T[], int P[], int f) {    get_next(P);    int i, k;    for(k = -1, i = 0; i < (n<<1); ++i) {        while(k > -1 && P[k+1] != T[i]) k = pre[k];        if(P[k+1] == T[i])  ++k;        if(k == n - 1)  {            vis[f][i - n + 1] = true;            k = pre[k];        }    }} LL Pow(LL a, int b) {    LL res = 1;    while(b) {        if(b&1) res = (res*a)%MOD;        a = (a*a)%MOD;        b >>= 1;    }    return res;} int exp_gcd(int a, int b, int& x, int& y) {    if(b == 0) {        x = 1; y = 0;        return a;    }    int d = exp_gcd(b, a%b, y, x);      y -= a/b*x;                     return d;} int Inv(int c) {    int x, y;    exp_gcd(c, MOD, x, y);    return x < 0 ? x + MOD : x;} int gcd(int a, int b) {    return b == 0 ? a : gcd(b, a%b);} int main() {    int T, c, cnt, i;    LL ans;    scanf("%d", &T);    while(T--) {        scanf("%d%d", &n, &c);        for(i = 0; i < n; ++i)  {scanf("%d", &v[i]); vv[i] = vv[i+n] = v[i];}        for(i = 0; i < n; ++i)  {scanf("%d", &e[i]); ee[i] = ee[i+n] = e[i];}        CL(vis, false);        kmp(vv, v, 0);        kmp(ee, e, 1);        ans = cnt = 0;         for(i = 1; i <= n; ++i) {            if(vis[0][i] && vis[1][i]) {                ans += Pow(c, gcd(i, n));                ans %= MOD;                cnt++;            }        }        ans = ans*Inv(cnt)%MOD;        cout << ans << endl;    }    return 0;}
                                                                      ^
0_0_20613273_375.cpp:16:102: error: stray '#' in program
     = (l); --(i))#define L(x)    (x) << 1#define R(x)    (x) << 1 | 1#define MID(l, r)   (l + r) >> 1#define Min(x, y)   (x) < (y) ? (x) : (y)#define Max(x, y)   (x) < (y) ? (y) : (x)#define E(x)        (1 << (x))#define iabs(x)     (x) < 0 ? -(x) : (x)#define OUT(x)  printf("%lld\n", x) typedef long long LL;const double eps = 1e-6;const double PI = acos(-1.0);const int inf = 0x1F1F1F1F; using namespace std; const int N = 100010;const int MOD = 1000000007; int n;int pre[N];bool vis[2][N];int v[N], e[N];int vv[N<<1], ee[N<<1]; void get_next(int P[]) {    int i, j = -1;    pre[0] = -1;    for(i = 1; i < n; ++i) {        while(j > -1 && P[j+1] != P[i]) j = pre[j];        if(P[j + 1] == P[i])    ++j;        pre[i] = j;    }} void kmp(int T[], int P[], int f) {    get_next(P);    int i, k;    for(k = -1, i = 0; i < (n<<1); ++i) {        while(k > -1 && P[k+1] != T[i]) k = pre[k];        if(P[k+1] == T[i])  ++k;        if(k == n - 1)  {            vis[f][i - n + 1] = true;            k = pre[k];        }    }} LL Pow(LL a, int b) {    LL res = 1;    while(b) {        if(b&1) res = (res*a)%MOD;        a = (a*a)%MOD;        b >>= 1;    }    return res;} int exp_gcd(int a, int b, int& x, int& y) {    if(b == 0) {        x = 1; y = 0;        return a;    }    int d = exp_gcd(b, a%b, y, x);      y -= a/b*x;                     return d;} int Inv(int c) {    int x, y;    exp_gcd(c, MOD, x, y);    return x < 0 ? x + MOD : x;} int gcd(int a, int b) {    return b == 0 ? a : gcd(b, a%b);} int main() {    int T, c, cnt, i;    LL ans;    scanf("%d", &T);    while(T--) {        scanf("%d%d", &n, &c);        for(i = 0; i < n; ++i)  {scanf("%d", &v[i]); vv[i] = vv[i+n] = v[i];}        for(i = 0; i < n; ++i)  {scanf("%d", &e[i]); ee[i] = ee[i+n] = e[i];}        CL(vis, false);        kmp(vv, v, 0);        kmp(ee, e, 1);        ans = cnt = 0;         for(i = 1; i <= n; ++i) {            if(vis[0][i] && vis[1][i]) {                ans += Pow(c, gcd(i, n));                ans %= MOD;                cnt++;            }        }        ans = ans*Inv(cnt)%MOD;        cout << ans << endl;    }    return 0;}
                                                                                                      ^
0_0_20613273_375.cpp:16:143: error: stray '#' in program
     = (l); --(i))#define L(x)    (x) << 1#define R(x)    (x) << 1 | 1#define MID(l, r)   (l + r) >> 1#define Min(x, y)   (x) < (y) ? (x) : (y)#define Max(x, y)   (x) < (y) ? (y) : (x)#define E(x)        (1 << (x))#define iabs(x)     (x) < 0 ? -(x) : (x)#define OUT(x)  printf("%lld\n", x) typedef long long LL;const double eps = 1e-6;const double PI = acos(-1.0);const int inf = 0x1F1F1F1F; using namespace std; const int N = 100010;const int MOD = 1000000007; int n;int pre[N];bool vis[2][N];int v[N], e[N];int vv[N<<1], ee[N<<1]; void get_next(int P[]) {    int i, j = -1;    pre[0] = -1;    for(i = 1; i < n; ++i) {        while(j > -1 && P[j+1] != P[i]) j = pre[j];        if(P[j + 1] == P[i])    ++j;        pre[i] = j;    }} void kmp(int T[], int P[], int f) {    get_next(P);    int i, k;    for(k = -1, i = 0; i < (n<<1); ++i) {        while(k > -1 && P[k+1] 


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-07-08 06:57:15, Gzip enabled