제출 #1187712

#제출 시각아이디문제언어결과실행 시간메모리
1187712MatteoArcari축구 경기장 (IOI23_soccer)C++20
8 / 100
4592 ms4416 KiB
#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;

int check(int n, vector<vector<int>> f) {
    int ans = 0;
    for (auto _: {0, 1}) {
        ans = 0;
        vector<int> l(n), r(n);
        for (int i = 0; i < n; i++) {
            bool found = 0;
            bool flag = 0;
            int _l = -1, _r = -1;
            for (int j = 0; j < n; j++) {
                if (!f[i][j]) {
                    _r = j;
                    if (_l == -1) _l = j;
                    ans++;
                    found = 1;
                    if (flag) return 0;
                } else if (found) flag = 1;
            }
            l[i] = _l;
            r[i] = _r;
            if (_l == -1) continue;
            for (int j = 0; j < i; j++) {
                if (l[j] == -1) continue;
                if (l[j] < _l && r[j] < _r) return 0;
                if (l[j] > _l && r[j] > _r) return 0;
            }
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < i; j++) {
                swap(f[i][j], f[j][i]);
            }
        }
    }
   
    return ans;
}

int biggest_stadium(int n, vector<vector<int>> f) {
    int ans = 0;
    for (int mask = 0; mask < (1 << (n * n)); mask++) {
        auto g = f;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (mask & (1 << (n * i + j))) {
                    g[i][j] = 1;
                }
            }
        }
        ans = max(ans, check(n, g));
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...