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_20614647_30588.cpp:5:26: error: stray '#' in program
     using namespace std; #define debug 0const int maxn = 101000;typedef long long ll; ll A[maxn], inv[maxn];int res[20];int p[20]; void gcd(ll a, ll b, ll d, ll& x, ll& y){    if (!b) { d = a; x = 1; y = 0; }    else{ gcd(b, a%b, d, y, x); y -= x*(a/b); }} int cal(long long n, long long m, int p){    A[0] = A[1] = 1;    inv[0] = inv[1] = 1;    for (int i = 2; i <= p; i++){        inv[i] = (long long)(p - p/i) * inv[p % i] % p;        A[i] = A[i-1] * i % p;    }    for (int i = 2; i < p; i++){        inv[i] = inv[i] * inv[i-1] % p;    }     if (debug){        for (int i = 0; i < p; i++){            assert(inv[i] * A[i] % p == 1);            printf("%lld %lld\n", inv[i], A[i]);        }    }    int ret = 1;    while(n&&m){        int a = n % p, b = m % p;            if (a < b) return 0;        n /= p, m /= p;        ret = (long long)ret * A[a] % p * inv[b] % p * inv[a-b] % p;    }    return ret;}ll mul(ll a, ll b, ll p){    ll ret = 0;    for (; a; a>>=1){        if (a&1){            ret += b;            if (ret >= p) ret -= p;        }        b <<= 1;        if (b >= p) b -= p;    }    return ret;}ll crt(int n, int* a, int *m){    ll M = 1, d, y, x = 0;    for (int i = 0; i < n; i++) M *= m[i];    for (int i = 0; i < n; i++){        ll w = M / m[i];        gcd(m[i], w, d, d, y);        int sign;        if (y < 0) sign = -1;        else sign = 1;        x = (x + mul(y*sign, w*a[i]%M, M) * sign) % M;    }    return (x + M) % M;}int T;int main(){    scanf("%d", &T);    while(T--){        ll n, m; int k;        scanf("%I64d %I64d %d", &n, &m, &k);        for (int i = 0; i < k; i++){            scanf("%d", &p[i]);            res[i] = cal(n, m, p[i]);        }        long long ans = crt(k, res, p);        printf("%I64d\n", ans);    }    return 0;}
                          ^
0_0_20614647_30588.cpp:5:27: error: 'define' does not name a type
     using namespace std; #define debug 0const int maxn = 101000;typedef long long ll; ll A[maxn], inv[maxn];int res[20];int p[20]; void gcd(ll a, ll b, ll d, ll& x, ll& y){    if (!b) { d = a; x = 1; y = 0; }    else{ gcd(b, a%b, d, y, x); y -= x*(a/b); }} int cal(long long n, long long m, int p){    A[0] = A[1] = 1;    inv[0] = inv[1] = 1;    for (int i = 2; i <= p; i++){        inv[i] = (long long)(p - p/i) * inv[p % i] % p;        A[i] = A[i-1] * i % p;    }    for (int i = 2; i < p; i++){        inv[i] = inv[i] * inv[i-1] % p;    }     if (debug){        for (int i = 0; i < p; i++){            assert(inv[i] * A[i] % p == 1);            printf("%lld %lld\n", inv[i], A[i]);        }    }    int ret = 1;    while(n&&m){        int a = n % p, b = m % p;            if (a < b) return 0;        n /= p, m /= p;        ret = (long long)ret * A[a] % p * inv[b] % p * inv[a-b] % p;    }    return ret;}ll mul(ll a, ll b, ll p){    ll ret = 0;    for (; a; a>>=1){        if (a&1){            ret += b;            if (ret >= p) ret -= p;        }        b <<= 1;        if (b >= p) b -= p;    }    return ret;}ll crt(int n, int* a, int *m){    ll M = 1, d, y, x = 0;    for (int i = 0; i < n; i++) M *= m[i];    for (int i = 0; i < n; i++){        ll w = M / m[i];        gcd(m[i], w, d, d, y);        int sign;        if (y < 0) sign = -1;        else sign = 1;        x = (x + mul(y*sign, w*a[i]%M, M) * sign) % M;    }    return (x + M) % M;}int T;int main(){    scanf("%d", &T);    while(T--){        ll n, m; int k;        scanf("%I64d %I64d %d", &n, &m, &k);        for (int i = 0; i < k; i++){            scanf("%d", &p[i]);            res[i] = cal(n, m, p[i]);        }        long long ans = crt(k, res, p);        printf("%I64d\n", ans);    }    return 0;}
                           ^
0_0_20614647_30588.cpp:5:92: error: 'maxn' was not declared in this scope
     using namespace std; #define debug 0const int maxn = 101000;typedef long long ll; ll A[maxn], inv[maxn];int res[20];int p[20]; void gcd(ll a, ll b, ll d, ll& x, ll& y){    if (!b) { d = a; x = 1; y = 0; }    else{ gcd(b, a%b, d, y, x); y -= x*(a/b); }} int cal(long long n, long long m, int p){    A[0] = A[1] = 1;    inv[0] = inv[1] = 1;    for (int i = 2; i <= p; i++){        inv[i] = (long long)(p - p/i) * inv[p % i] % p;        A[i] = A[i-1] * i % p;    }    for (int i = 2; i < p; i++){        inv[i] = inv[i] * inv[i-1] % p;    }     if (debug){        for (int i = 0; i < p; i++){            assert(inv[i] * A[i] % p == 1);            printf("%lld %lld\n", inv[i], A[i]);        }    }    int ret = 1;    while(n&&m){        int a = n % p, b = m % p;            if (a < b) return 0;        n /= p, m /= p;        ret = (long long)ret * A[a] % p * inv[b] % p * inv[a-b] % p;    }    return ret;}ll mul(ll a, ll b, ll p){    ll ret = 0;    for (; a; a>>=1){        if (a&1){            ret += b;            if (ret >= p) ret -= p;        }        b <<= 1;        if (b >= p) b -= p;    }    return ret;}ll crt(int n, int* a, int *m){    ll M = 1, d, y, x = 0;    for (int i = 0; i < n; i++) M *= m[i];    for (int i = 0; i < n; i++){        ll w = M / m[i];        gcd(m[i], w, d, d, y);        int sign;        if (y < 0) sign = -1;        else sign = 1;        x = (x + mul(y*sign, w*a[i]%M, M) * sign) % M;    }    return (x + M) % M;}int T;int main(){    scanf("%d", &T);    while(T--){        ll n, m; int k;        scanf("%I64d %I64d %d", &n, &m, &k);        for (int i = 0; i < k; i++){            scanf("%d", &p[i]);            res[i] = cal(n, m, p[i]);        }        long long ans = crt(k, res, p);        printf("%I64d\n", ans);    }    return 0;}
                                                                                            ^
0_0_20614647_30588.cpp:5:103: error: 'maxn' was not declared in this scope
     using namespace std; #define debug 0const int maxn = 101000;typedef long long ll; ll A[maxn], inv[maxn];int res[20];int p[20]; void gcd(ll a, ll b, ll d, ll& x, ll& y){    if (!b) { d = a; x = 1; y = 0; }    else{ gcd(b, a%b, d, y, x); y -= x*(a/b); }} int cal(long long n, long long m, int p){    A[0] = A[1] = 1;    inv[0] = inv[1] = 1;    for (int i = 2; i <= p; i++){        inv[i] = (long long)(p - p/i) * inv[p % i] % p;        A[i] = A[i-1] * i % p;    }    for (int i = 2; i < p; i++){        inv[i] = inv[i] * inv[i-1] % p;    }     if (debug){        for (int i = 0; i < p; i++){            assert(inv[i] * A[i] % p == 1);            printf("%lld %lld\n", inv[i], A[i]);        }    }    int ret = 1;    while(n&&m){        int a = n % p, b = m % p;            if (a < b) return 0;        n /= p, m /= p;        ret = (long long)ret * A[a] % p * inv[b] % p * inv[a-b] % p;    }    return ret;}ll mul(ll a, ll b, ll p){    ll ret = 0;    for (; a; a>>=1){        if (a&1){            ret += b;            if (ret >= p) ret -= p;        }        b <<= 1;        if (b >= p) b -= p;    }    return ret;}ll crt(int n, int* a, int *m){    ll M = 1, d, y, x = 0;    for (int i = 0; i < n; i++) M *= m[i];    for (int i = 0; i < n; i++){        ll w = M / m[i];        gcd(m[i], w, d, d, y);        int sign;        if (y < 0) sign = -1;        else sign = 1;        x = (x + mul(y*sign, w*a[i]%M, M) * sign) % M;    }    return (x + M) % M;}int T;int main(){    scanf("%d", &T);    while(T--){        ll n, m; int k;        scanf("%I64d %I64d %d", &n, &m, &k);        for (int i = 0; i < k; i++){            scanf("%d", &p[i]);            res[i] = cal(n, m, p[i]);        }        long long ans = crt(k, res, p);        printf("%I64d\n", ans);    }    return 0;}
                                                                                                       ^
0_0_20614647_30588.cpp: In function 'int cal(long long int, long long int, int)':
0_0_20614647_30588.cpp:5:303: error: 'A' was not declared in this scope
     using namespace std; #define debug 0const int maxn = 101000;typedef long long ll; ll A[maxn], inv[maxn];int res[20];int p[20]; void gcd(ll a, ll b, ll d, ll& x, ll& y){    if (!b) { d = a; x = 1; y = 0; }    else{ gcd(b, a%b, d, y, x); y -= x*(a/b); }} int cal(long long n, long long m, int p){    A[0] = A[1] = 1;    inv[0] = inv[1] = 1;    for (int i = 2; i <= p; i++){        inv[i] = (long long)(p - p/i) * inv[p % i] % p;        A[i] = A[i-1] * i % p;    }    for (int i = 2; i < p; i++){        inv[i] = inv[i] * inv[i-1] % p;    }     if (debug){        for (int i = 0; i < p; i++){            assert(inv[i] * A[i] % p == 1);            printf("%lld %lld\n", inv[i], A[i]);        }    }    int ret = 1;    while(n&&m){        int a = n % p, b = m % p;            if (a < b) return 0;        n /= p, m /= p;        ret = (long long)ret * A[a] % p * inv[b] % p * inv[a-b] % p;    }    return ret;}ll mul(ll a, ll b, ll p){    ll ret = 0;    for (; a; a>>=1){        if (a&1){            ret += b;            if (ret >= p) ret -= p;        }        b <<= 1;        if (b >= p) b -= p;    }    return ret;}ll crt(int n, int* a, int *m){    ll M = 1, d, y, x = 0;    for (int i = 0; i < n; i++) M *= m[i];    for (int i = 0; i < n; i++){        ll w = M / m[i];        gcd(m[i], w, d, d, y);        int sign;        if (y < 0) sign = -1;        else sign = 1;        x = (x + mul(y*sign, w*a[i]%M, M) * sign) % M;    }    return (x + M) % M;}int T;int main(){    scanf("%d", &T);    while(T--){        ll n, m; int k;        scanf("%I64d %I64d %d", &n, &m, &k);        for (int i = 0; i < k; i++){            scanf("%d", &p[i]);            res[i] = cal(n, m, p[i]);        }        long long ans = crt(k, res, p);        printf("%I64d\n", ans);    }    return 0;}
                                                                                                                                                                                                                                                                                                               ^
0_0_20614647_30588.cpp:5:323: error: 'inv' was not declared in this scope
     using namespace std; #define debug 0const int maxn = 101000;typedef long long ll; ll A[maxn], inv[maxn];int res[20];int p[20]; void gcd(ll a, ll b, ll d, ll& x, ll& y){    if (!b) { d = a; x = 1; y = 0; }    else{ gcd(b, a%b, d, y, x); y -= 


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-16 20:15:33, Gzip enabled