답안 #1056147

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1056147 2024-08-13T07:58:19 Z Ignut 축구 경기장 (IOI23_soccer) C++17
1.5 / 100
165 ms 51764 KB
/* Ignut
started: 13.08.2024
now: 13.08.2024
████████████████████████████████████████████████████████████████████
████████████████████████████████    ████████████████████████████████
██████████████████████████████        ██████████████████████████████
██████      ██████████████████        ██████████████████      ██████
██████          ██████████████        ██████████████          ██████
██████      ██    ████████████        ████████████    ██      ██████
██████      ████    ██████████        ██████████    ████      ██████
██████      ████      ██████████    ██████████      ████      ██████
██████      ████      ██████████    ██████████    ██████      ██████
██████      ██████    ██████████    ██████████    ██████      ██████
██████      ██████    ████████        ████████    ██████      ██████
██████      ██████      ██████        ██████      ██████      ██████
██████      ████        ████            ████        ████      ██████
██████            ██████████    ████    ██████████            ██████
██████      ██      ██████    ████████    ██████      ██      ██████
██████      ██████            ████████            ██████      ██████
██████                    ██            ██                    ██████
██████████████████████      ████    ████      ██████████████████████
████████████████████████      ██    ██      ████████████████████████
██████████████████████████                ██████████████████████████
██████████████████████████████        ██████████████████████████████
████████████████████████████████████████████████████████████████████
*/
 
#include <bits/stdc++.h>
 
using namespace std;
using ll = long long;
 
const int MAXN = 2222;
int n;
vector<vector<int>> f;
 
bool used[MAXN][MAXN];
 
vector<pair<int, int>> delta = {{0, -1}, {0, 1}, {-1, 0}, {1, 0}};
 
bool Good(int i, int j) {
    return i >= 0 && j >= 0 && i < n && j < n && f[i][j] == 0 && !used[i][j];
}
 
int cnt = 0;
void dfs(int i, int j) {
    cnt ++;
    used[i][j] = true;
    for (auto [di, dj] : delta) {
        int ci = i + di, cj = j + dj;
        if (Good(ci, cj)) {
            dfs(ci, cj);
        }
    }
}
 
int biggest_stadium(int N, vector<vector<int>> F) {
    // for (int i = 0; i < N; i ++) {
    //     for (int j = 0; j < N; j ++) {
    //         if (F[i][j] == 0) continue;
    //         int mn = N * N;
    //         mn = min(mn, (i + 1) * (j + 1));
    //         mn = min(mn, (N - i) * (N - j));
    //         mn = min(mn, (N - i) * (j + 1));
    //         mn = min(mn, (i + 1) * (N - j));
    //         return N * N - mn;
    //     }
    // }
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++)
            used[i][j] = false;
 
    n = N;
    f = F;
    for (int i = 0; i < N; i ++) {
        int first = -1, last = -1, cnt = 0;
        for (int j = 0; j < N; j ++) {
            if (F[i][j] == 1) continue;
            if (first == -1) first = j;
            last = j;
            cnt ++;
        }
        if (cnt > 0 && cnt != last - first + 1) return 1;
    }
    for (int j = 0; j < N; j ++) {
        int first = -1, last = -1, cnt = 0;
        for (int i = 0; i < N; i ++) {
            if (F[i][j] == 1) continue;
            if (first == -1) first = i;
            last = i;
            cnt ++;
        }
        if (cnt > 0 && cnt != last - first + 1) return 1;
    }
 
    int i0, j0;
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++)
            if (F[i][j] == 0)
                i0 = i, j0 = j;
 
  	cnt = 0;
    dfs(i0, j0);
 
    int sum = N * N;
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++)
            sum -= F[i][j];
 
    if (cnt != sum) return 1;
    
    return sum;
}

Compilation message

soccer.cpp: In function 'int biggest_stadium(int, std::vector<std::vector<int> >)':
soccer.cpp:97:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   97 |     for (int i = 0; i < N; i ++)
      |     ^~~
soccer.cpp:102:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  102 |    cnt = 0;
      |    ^~~
soccer.cpp:103:8: warning: 'i0' may be used uninitialized in this function [-Wmaybe-uninitialized]
  103 |     dfs(i0, j0);
      |     ~~~^~~~~~~~
soccer.cpp:103:8: warning: 'j0' may be used uninitialized in this function [-Wmaybe-uninitialized]
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 596 KB partial
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Partially correct 0 ms 348 KB partial
7 Partially correct 1 ms 2652 KB partial
8 Partially correct 10 ms 5468 KB partial
9 Partially correct 165 ms 51764 KB partial
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB ok
2 Correct 0 ms 348 KB ok
3 Partially correct 0 ms 348 KB partial
4 Partially correct 0 ms 444 KB partial
5 Incorrect 0 ms 348 KB wrong
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 596 KB partial
2 Correct 1 ms 344 KB ok
3 Correct 0 ms 348 KB ok
4 Partially correct 0 ms 348 KB partial
5 Partially correct 0 ms 444 KB partial
6 Incorrect 0 ms 348 KB wrong
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 596 KB partial
2 Correct 1 ms 344 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Partially correct 0 ms 348 KB partial
7 Partially correct 0 ms 444 KB partial
8 Incorrect 0 ms 348 KB wrong
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 596 KB partial
2 Correct 1 ms 344 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Partially correct 0 ms 348 KB partial
7 Partially correct 0 ms 444 KB partial
8 Incorrect 0 ms 348 KB wrong
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 596 KB partial
2 Correct 1 ms 344 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Correct 0 ms 348 KB ok
7 Partially correct 0 ms 348 KB partial
8 Partially correct 1 ms 2652 KB partial
9 Partially correct 10 ms 5468 KB partial
10 Partially correct 165 ms 51764 KB partial
11 Partially correct 0 ms 348 KB partial
12 Partially correct 0 ms 444 KB partial
13 Incorrect 0 ms 348 KB wrong
14 Halted 0 ms 0 KB -