제출 #1203223

#제출 시각아이디문제언어결과실행 시간메모리
1203223SpyrosAlivRectangles (IOI19_rect)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long vector<pair<int, int>> delta = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; vector<vector<int>> g; int n, m; vector<vector<bool>> vis; int u, d, l, r, sz; bool inside(int i, int j) { return i >= 0 && i < n && j >= 0 && j < m; } void dfs(int i, int j) { if (!inside(i, j) || g[i][j] || vis[i][j]) return; vis[i][j] = true; sz++; u = min(u, i); d = max(d, i); l = min(l, j); r = max(r, j); for (auto [di, dj]: delta) { dfs(i + di, j + dj); } } ll count_rectangles(vector<vector<int>> G) { g = G; n = g.size(); m = g[0].size(); if (n <= 2 || m <= 2) return 0; vector<int> bad(m, 0), good(m, 0); for (int i = 1; i < m-1; i++) { if (g[1][i] >= g[0][i] || g[1][i] >= g[2][i]) bad[i] = 1; if (g[1][i] < g[1][i+1]) good[i] = 1; good[i] += good[i-1]; } bad[m-1] = true; ll ans = 0; ll furth = 0; for (int i = 1; i < m-1; i++) { if (bad[i] || g[1][i-1] <= g[1][i]) continue; while (furth < i) furth++; while (!bad[furth]) furth++; furth--; ans += good[furth] - good[i-1]; } return ans; } int main() { int N, M; cin >> N >> M; vector<vector<int>> G(N, vector<int>(M, 0)); for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) cin >> G[i][j]; } cout << count_rectangles(G) << "\n"; }

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

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