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)
|