제출 #1191488

#제출 시각아이디문제언어결과실행 시간메모리
1191488viduxWerewolf (IOI18_werewolf)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef vector<int> vi; typedef vector<vi> vvi; class DSU { vi size, par; int sz; public: DSU(int n) { sz = n; size = vi(sz, 1); par = vi(sz); for (int i = 0; i < sz; i++) par[i] = i; } int find(int x) { return par[x] == x ? x : (par[x] = find(par[x])); } bool connected(int x, int y) { return find(x) == find(y); } bool join(int x, int y) { if (connected(x, y)) return false; int px = find(x), py = find(y); if (size[px] < size[py]) swap(px, py); size[px] += size[py]; par[py] = px; return true; } }; vi check_validity(int N, vi X, vi Y, vi S, vi E, vi L, vi R) { int Q = L.size(); int M = X.size(); vi ans(N); for (int t = 0; t < Q; t++) { DSU dsuW(N), dsuH(N); int l = L[t], r = R[t]; for (int i = 0; i < M; i++) { if (X[i] >= l && Y[i] >= l) dsuH.join(X[i], Y[i]); if (X[i] <= r && Y[i] <= r) dsuW.join(X[i], Y[i]); } for (int i = 0; i < M; i++) { if (i >= l && i <= r) { if (dsuH.find(S[t]) == dsuH.find(i) && dsuW.find(E[t]) == dsuW.find(i)) { ans[t] = 1; break; } } } } return ans; } int main() { int N, M, Q; cin >> N >> M >> Q; vi X(M), Y(M); vi S(Q), E(Q), L(Q), R(Q); for (int i = 0; i < M; i++) cin >> X[i] >> Y[i]; for (int i = 0; i < Q; i++) cin >> S[i] >> E[i] >> L[i] >> R[i]; vi ans = check_validity(N, X, Y, S, E, L, R); for (int i = 0; i < Q; i++) cout << ans[i] << endl; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccQl1PFY.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccE4YeYy.o:werewolf.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status