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_20611268_14211.cpp:6:25: error: stray '#' in program
     using namespace std;#define N 505#define MAXN 1<<28int map[N][N];int lx[N], ly[N];int slack[N];int match[N];bool visitx[N], visity[N];int n; bool Hungary(int u){    visitx[u] = true;    for(int i = 1; i <= n; ++i)    {        if(visity[i])            continue;        else        {            if(lx[u] + ly[i] == map[u][i])            {                visity[i] = true;                if(match[i] == -1 || Hungary(match[i]))                {                    match[i] = u;                    return true;                }            }            else                slack[i] = min(slack[i], lx[u] + ly[i] - map[u][i]);        }    }    return false;} void KM_perfect_match(){    int temp;    for(int i = 1; i <= n; ++i)        lx[i] = -MAXN;    memset(ly, 0, sizeof(ly));    for(int i = 1; i <= n; ++i)        for(int j = 1; j <= n; ++j)            lx[i] = max(lx[i], map[i][j]);    for(int i = 1; i <= n; ++i)    {        for(int j = 1; j <= n; ++j)            slack[j] = MAXN;        while(1)        {            memset(visitx, false, sizeof(visitx));            memset(visity, false, sizeof(visity));            if(Hungary(i))                break;            else            {                temp = MAXN;                for(int j = 1; j <= n; ++j)                    if(!visity[j])                        temp = min(temp, slack[j]);                for(int j = 1; j <= n; ++j)                {                    if(visitx[j])                        lx[j] -= temp;                    if(visity[j])                        ly[j] += temp;                    else                        slack[j] -= temp;                }            }        }    }} int main(){    int m;    int a, b, cost;    int ans;    bool flag;    while(scanf("%d%d", &n, &m) != EOF)    {        ans = 0;        flag = true;        memset(match, -1, sizeof(match));        for(int i = 1; i <= n; ++i)            for(int j = 1; j <= n; ++j)                map[i][j] = -MAXN;        for(int i = 1; i <= m; ++i)        {            scanf("%d%d%d", &a, &b, &cost);             if(-cost > map[a][b])                map[a][b] = -cost;        }        KM_perfect_match();        for(int i = 1; i <= n; ++i)         {            if(match[i] == -1 || map[ match[i] ][i] == -MAXN)            {                flag = false;                break;            }            ans += map[match[i]][i];        }        if(flag)            printf("%d\n", -ans);        else            printf("-1\n");    }    return 0;}
                         ^
0_0_20611268_14211.cpp:6:38: error: stray '#' in program
     using namespace std;#define N 505#define MAXN 1<<28int map[N][N];int lx[N], ly[N];int slack[N];int match[N];bool visitx[N], visity[N];int n; bool Hungary(int u){    visitx[u] = true;    for(int i = 1; i <= n; ++i)    {        if(visity[i])            continue;        else        {            if(lx[u] + ly[i] == map[u][i])            {                visity[i] = true;                if(match[i] == -1 || Hungary(match[i]))                {                    match[i] = u;                    return true;                }            }            else                slack[i] = min(slack[i], lx[u] + ly[i] - map[u][i]);        }    }    return false;} void KM_perfect_match(){    int temp;    for(int i = 1; i <= n; ++i)        lx[i] = -MAXN;    memset(ly, 0, sizeof(ly));    for(int i = 1; i <= n; ++i)        for(int j = 1; j <= n; ++j)            lx[i] = max(lx[i], map[i][j]);    for(int i = 1; i <= n; ++i)    {        for(int j = 1; j <= n; ++j)            slack[j] = MAXN;        while(1)        {            memset(visitx, false, sizeof(visitx));            memset(visity, false, sizeof(visity));            if(Hungary(i))                break;            else            {                temp = MAXN;                for(int j = 1; j <= n; ++j)                    if(!visity[j])                        temp = min(temp, slack[j]);                for(int j = 1; j <= n; ++j)                {                    if(visitx[j])                        lx[j] -= temp;                    if(visity[j])                        ly[j] += temp;                    else                        slack[j] -= temp;                }            }        }    }} int main(){    int m;    int a, b, cost;    int ans;    bool flag;    while(scanf("%d%d", &n, &m) != EOF)    {        ans = 0;        flag = true;        memset(match, -1, sizeof(match));        for(int i = 1; i <= n; ++i)            for(int j = 1; j <= n; ++j)                map[i][j] = -MAXN;        for(int i = 1; i <= m; ++i)        {            scanf("%d%d%d", &a, &b, &cost);             if(-cost > map[a][b])                map[a][b] = -cost;        }        KM_perfect_match();        for(int i = 1; i <= n; ++i)         {            if(match[i] == -1 || map[ match[i] ][i] == -MAXN)            {                flag = false;                break;            }            ans += map[match[i]][i];        }        if(flag)            printf("%d\n", -ans);        else            printf("-1\n");    }    return 0;}
                                      ^
0_0_20611268_14211.cpp:6:26: error: 'define' does not name a type
     using namespace std;#define N 505#define MAXN 1<<28int map[N][N];int lx[N], ly[N];int slack[N];int match[N];bool visitx[N], visity[N];int n; bool Hungary(int u){    visitx[u] = true;    for(int i = 1; i <= n; ++i)    {        if(visity[i])            continue;        else        {            if(lx[u] + ly[i] == map[u][i])            {                visity[i] = true;                if(match[i] == -1 || Hungary(match[i]))                {                    match[i] = u;                    return true;                }            }            else                slack[i] = min(slack[i], lx[u] + ly[i] - map[u][i]);        }    }    return false;} void KM_perfect_match(){    int temp;    for(int i = 1; i <= n; ++i)        lx[i] = -MAXN;    memset(ly, 0, sizeof(ly));    for(int i = 1; i <= n; ++i)        for(int j = 1; j <= n; ++j)            lx[i] = max(lx[i], map[i][j]);    for(int i = 1; i <= n; ++i)    {        for(int j = 1; j <= n; ++j)            slack[j] = MAXN;        while(1)        {            memset(visitx, false, sizeof(visitx));            memset(visity, false, sizeof(visity));            if(Hungary(i))                break;            else            {                temp = MAXN;                for(int j = 1; j <= n; ++j)                    if(!visity[j])                        temp = min(temp, slack[j]);                for(int j = 1; j <= n; ++j)                {                    if(visitx[j])                        lx[j] -= temp;                    if(visity[j])                        ly[j] += temp;                    else                        slack[j] -= temp;                }            }        }    }} int main(){    int m;    int a, b, cost;    int ans;    bool flag;    while(scanf("%d%d", &n, &m) != EOF)    {        ans = 0;        flag = true;        memset(match, -1, sizeof(match));        for(int i = 1; i <= n; ++i)            for(int j = 1; j <= n; ++j)                map[i][j] = -MAXN;        for(int i = 1; i <= m; ++i)        {            scanf("%d%d%d", &a, &b, &cost);             if(-cost > map[a][b])                map[a][b] = -cost;        }        KM_perfect_match();        for(int i = 1; i <= n; ++i)         {            if(match[i] == -1 || map[ match[i] ][i] == -MAXN)            {                flag = false;                break;            }            ans += map[match[i]][i];        }        if(flag)            printf("%d\n", -ans);        else            printf("-1\n");    }    return 0;}
                          ^
0_0_20611268_14211.cpp:6:77: error: 'N' was not declared in this scope
     using namespace std;#define N 505#define MAXN 1<<28int map[N][N];int lx[N], ly[N];int slack[N];int match[N];bool visitx[N], visity[N];int n; bool Hungary(int u){    visitx[u] = true;    for(int i = 1; i <= n; ++i)    {        if(visity[i])            continue;        else        {            if(lx[u] + ly[i] == map[u][i])            {                visity[i] = true;                if(match[i] == -1 || Hungary(match[i]))                {                    match[i] = u;                    return true;                }            }            else                slack[i] = min(slack[i], lx[u] + ly[i] - map[u][i]);        }    }    return false;} void KM_perfect_match(){    int temp;    for(int i = 1; i <= n; ++i)        lx[i] = -MAXN;    memset(ly, 0, sizeof(ly));    for(int i = 1; i <= n; ++i)        for(int j = 1; j <= n; ++j)            lx[i] = max(lx[i], map[i][j]);    for(int i = 1; i <= n; ++i)    {        for(int j = 1; j <= n; ++j)            slack[j] = MAXN;        while(1)        {            memset(visitx, false, sizeof(visitx));            memset(visity, false, sizeof(visity));            if(Hungary(i))                break;            else            {                temp = MAXN;                for(int j = 1; j <= n; ++j)                    if(!visity[j])                        temp = min(temp, slack[j]);                for(int j = 1; j <= n; ++j)                {                    if(visitx[j])                        lx[j] -= temp;                    if(visity[j])                        ly[j] += temp;                    else                        slack[j] -= temp;                }            }        }    }} int main(){    int m;    int a, b, cost;    int ans;    bool flag;    while(scanf("%d%d", &n, &m) != EOF)    {        ans = 0;        flag = true;        memset(match, -1, sizeof(match));        for(int i = 1; i <= n; ++i)            for(int j = 1; j <= n; ++j)                map[i][j] = -MAXN;        for(int i = 1; i <= m; ++i)        {            scanf("%d%d%d", &a, &b, &cost);             if(-cost > map[a][b])                map[a][b] = -cost;        }        KM_perfect_match();        for(int i = 1; i <= n; ++i)         {            if(match[i] == -1 || map[ match[i] ][i] == -MAXN)            {                flag = false;                break;            }            ans += map[match[i]][i];        }        if(flag)            printf("%d\n", -ans)


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-25 23:54:00, Gzip enabled