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_20614611_23105.cpp:8:109: error: stray '#' in program
     using namespace std;const int base = 2015;const int maxn = 100005;int T, n, m, k, kk; struct Matrix{    #define size 55    int m[size][size];    Matrix() { memset(m, 0, sizeof(m)); }     void operator =(const Matrix&b) { memcpy(m, b.m, sizeof(m)); }     Matrix operator *(const Matrix&b) {        Matrix c;        for (int i = 0; i < size; i++)        for (int j = 0; j < size; j++)        for (int k = 0; k < size; k++)            c.m[i][k] = (c.m[i][k] + m[i][j] * b.m[j][k]) % base;        return c;    }    Matrix get(int x)    {        Matrix a, b = *this;        for (int f = 0; x; x >>= 1)        {            if (x & 1)            if (f) a = a * b; else a = b, f = 1;            b = b * b;        }        return a;    }}; int main(){    scanf("%d", &T);    while (T--)    {        scanf("%d%d", &n, &m);        Matrix a, b;        for (int i = 1; i <= n + 1; i++) a.m[i][n + 1] = 1;        for (int i = 1; i <= n; i++)        {            scanf("%d", &k);            for (int j = 1; j <= k; j++)            {                scanf("%d", &kk);                a.m[i][kk] = 1;            }        }        for (int i = 1; i <= n + 1; i++) b.m[1][i] = 1;        a = a.get(m);            b = b * a;        if (m == 1) printf("%d\n", n + 1);        else printf("%d\n", b.m[1][n + 1]);    }    return 0;}
                                                                                                             ^
0_0_20614611_23105.cpp:8:110: error: 'define' does not name a type
     using namespace std;const int base = 2015;const int maxn = 100005;int T, n, m, k, kk; struct Matrix{    #define size 55    int m[size][size];    Matrix() { memset(m, 0, sizeof(m)); }     void operator =(const Matrix&b) { memcpy(m, b.m, sizeof(m)); }     Matrix operator *(const Matrix&b) {        Matrix c;        for (int i = 0; i < size; i++)        for (int j = 0; j < size; j++)        for (int k = 0; k < size; k++)            c.m[i][k] = (c.m[i][k] + m[i][j] * b.m[j][k]) % base;        return c;    }    Matrix get(int x)    {        Matrix a, b = *this;        for (int f = 0; x; x >>= 1)        {            if (x & 1)            if (f) a = a * b; else a = b, f = 1;            b = b * b;        }        return a;    }}; int main(){    scanf("%d", &T);    while (T--)    {        scanf("%d%d", &n, &m);        Matrix a, b;        for (int i = 1; i <= n + 1; i++) a.m[i][n + 1] = 1;        for (int i = 1; i <= n; i++)        {            scanf("%d", &k);            for (int j = 1; j <= k; j++)            {                scanf("%d", &kk);                a.m[i][kk] = 1;            }        }        for (int i = 1; i <= n + 1; i++) b.m[1][i] = 1;        a = a.get(m);            b = b * a;        if (m == 1) printf("%d\n", n + 1);        else printf("%d\n", b.m[1][n + 1]);    }    return 0;}
                                                                                                              ^
0_0_20614611_23105.cpp: In constructor 'Matrix::Matrix()':
0_0_20614611_23105.cpp:8:183: error: invalid conversion from 'int' to 'void*' [-fpermissive]
     using namespace std;const int base = 2015;const int maxn = 100005;int T, n, m, k, kk; struct Matrix{    #define size 55    int m[size][size];    Matrix() { memset(m, 0, sizeof(m)); }     void operator =(const Matrix&b) { memcpy(m, b.m, sizeof(m)); }     Matrix operator *(const Matrix&b) {        Matrix c;        for (int i = 0; i < size; i++)        for (int j = 0; j < size; j++)        for (int k = 0; k < size; k++)            c.m[i][k] = (c.m[i][k] + m[i][j] * b.m[j][k]) % base;        return c;    }    Matrix get(int x)    {        Matrix a, b = *this;        for (int f = 0; x; x >>= 1)        {            if (x & 1)            if (f) a = a * b; else a = b, f = 1;            b = b * b;        }        return a;    }}; int main(){    scanf("%d", &T);    while (T--)    {        scanf("%d%d", &n, &m);        Matrix a, b;        for (int i = 1; i <= n + 1; i++) a.m[i][n + 1] = 1;        for (int i = 1; i <= n; i++)        {            scanf("%d", &k);            for (int j = 1; j <= k; j++)            {                scanf("%d", &kk);                a.m[i][kk] = 1;            }        }        for (int i = 1; i <= n + 1; i++) b.m[1][i] = 1;        a = a.get(m);            b = b * a;        if (m == 1) printf("%d\n", n + 1);        else printf("%d\n", b.m[1][n + 1]);    }    return 0;}
                                                                                                                                                                                       ^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/cstring:42:0,
                 from 0_0_20614611_23105.cpp:2:
GCC4.9.2/x86_64-w64-mingw32/include/string.h:43:18: note: initializing argument 1 of 'void* memset(void*, int, size_t)'
   void * __cdecl memset(void *_Dst,int _Val,size_t _Size);
                  ^
0_0_20614611_23105.cpp: In member function 'void Matrix::operator=(const Matrix&)':
0_0_20614611_23105.cpp:8:238: error: 'const struct Matrix' has no member named 'm'
     using namespace std;const int base = 2015;const int maxn = 100005;int T, n, m, k, kk; struct Matrix{    #define size 55    int m[size][size];    Matrix() { memset(m, 0, sizeof(m)); }     void operator =(const Matrix&b) { memcpy(m, b.m, sizeof(m)); }     Matrix operator *(const Matrix&b) {        Matrix c;        for (int i = 0; i < size; i++)        for (int j = 0; j < size; j++)        for (int k = 0; k < size; k++)            c.m[i][k] = (c.m[i][k] + m[i][j] * b.m[j][k]) % base;        return c;    }    Matrix get(int x)    {        Matrix a, b = *this;        for (int f = 0; x; x >>= 1)        {            if (x & 1)            if (f) a = a * b; else a = b, f = 1;            b = b * b;        }        return a;    }}; int main(){    scanf("%d", &T);    while (T--)    {        scanf("%d%d", &n, &m);        Matrix a, b;        for (int i = 1; i <= n + 1; i++) a.m[i][n + 1] = 1;        for (int i = 1; i <= n; i++)        {            scanf("%d", &k);            for (int j = 1; j <= k; j++)            {                scanf("%d", &kk);                a.m[i][kk] = 1;            }        }        for (int i = 1; i <= n + 1; i++) b.m[1][i] = 1;        a = a.get(m);            b = b * a;        if (m == 1) printf("%d\n", n + 1);        else printf("%d\n", b.m[1][n + 1]);    }    return 0;}
                                                                                                                                                                                                                                              ^
0_0_20614611_23105.cpp: In member function 'Matrix Matrix::operator*(const Matrix&)':
0_0_20614611_23105.cpp:8:339: error: 'size' was not declared in this scope
     using namespace std;const int base = 2015;const int maxn = 100005;int T, n, m, k, kk; struct Matrix{    #define size 55    int m[size][size];    Matrix() { memset(m, 0, sizeof(m)); }     void operator =(const Matrix&b) { memcpy(m, b.m, sizeof(m)); }     Matrix operator *(const Matrix&b) {        Matrix c;        for (int i = 0; i < size; i++)        for (int j = 0; j < size; j++)        for (int k = 0; k < size; k++)            c.m[i][k] = (c.m[i][k] + m[i][j] * b.m[j][k]) % base;        return c;    }    Matrix get(int x)    {        Matrix a, b = *this;        for (int f = 0; x; x >>= 1)        {            if (x & 1)            if (f) a = a * b; else a = b, f = 1;            b = b * b;        }        return a;    }}; int main(){    scanf("%d", &T);    while (T--)    {        scanf("%d%d", &n, &m);        Matrix a, b;        for (int i = 1; i <= n + 1; i++) a.m[i][n + 1] = 1;        for (int i = 1; i <= n; i++)        {            scanf("%d", &k);            for (int j = 1; j <= k; j++)            {                scanf("%d", &kk);                a.m[i][kk] = 1;            }        }        for (int i = 1; i <= n + 1; i++) b.m[1][i] = 1;        a = a.get(m);            b = b * a;        if (m == 1) printf("%d\n", n + 1);        else printf("%d\n", b.m[1][n + 1]);    }    return 0;}
                                                                                                                                                                                                                                                                                                                                                   ^
0_0_20614611_23105.cpp:8:439: error: 'struct Matrix' has no member named 'm'
     using namespace std;const int base = 2015;const int maxn = 100005;int T, n, m, k, kk; struct Matrix{    #define size 55    int m[size][size];    Matrix() { memset(m, 0, sizeof(m)); }     void operator =(const Matrix&b) { memcpy(m, b.m, sizeof(m)); }     Matrix operator *(const Matrix&b) {        Matrix c;        for (int i = 0; i < size; i++)        for (int j = 0; j < size; j++)        for (int k = 0; k < size; k++)            c.m[i][k] = (c.m[i][k] + m[i][j] * b.m[j][k]) % base;        return c;    }    Matrix get(int x)    {        Matrix a, b = *this;        for (int f = 0; x; x >>= 1)        {            if (x & 1)            if (f) a = a * b; else a = b, f = 1;            b = b * b;        }        return a;    }}; int main(){    scanf("%d", &T);    while (T--)    {        scanf("%d%d", &n, &m);        Matrix a, b;        for (int i = 1; i <= n + 1; i++) a.m[i][n + 1] = 1;        for (int i = 1; i <= n; i++)        {            scanf("%d", &k);            for (int j = 1; j <= k; j++)            {                scanf("%d", &kk);                a.m[i][kk] = 1;            }        }        for (int i = 1; i <= n + 1; i++) b.m[1][i] = 1;        a = a.get(m);            b = b * a;        if (m == 1) printf("%d\n", n + 1);        else printf("%d\n", b.m[1][n + 1]);    }    return 0;}
                                                                                                                                                                                                                                                


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-09-29 03:34:20, Gzip enabled