답안 #1001010

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1001010 2024-06-18T12:45:22 Z 변재우(#10901) 축구 경기장 (IOI23_soccer) C++17
0 / 100
1 ms 2392 KB
#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;

const int Nmax=2010;
int L[Nmax][Nmax], R[Nmax][Nmax], D[Nmax][Nmax];
int X[Nmax][Nmax], Y[Nmax][Nmax], S[Nmax][Nmax];

int biggest_stadium(int N, std::vector<std::vector<int>> F)
{
    int cnt=0;
    for(int i=1; i<=N; i++) for(int j=1; j<=N; j++) {
        cnt+=F[i-1][j-1], X[i][j]=X[i][j-1]+1-F[i-1][j-1], Y[i][j]=Y[i-1][j]+1-F[i-1][j-1];
        S[i][j]=S[i][j-1]+S[i-1][j]-S[i-1][j-1]+1-F[i-1][j-1];
    }
    for(int i=1; i<=N; i++) {
        for(int j=1; j<=N; j++) {
            if(F[i-1][j-1]) L[i][j]=j;
            else L[i][j]=L[i][j-1];
        }
        for(int j=N; j>=1; j--) {
            if(F[i-1][j-1]) R[i][j]=j;
            else R[i][j]=R[i][j+1];
        }
    }
    for(int j=1; j<=N; j++) {
        for(int i=N; i>=1; i--) {
            if(F[i-1][j-1]) D[i][j]=i;
            else D[i][j]=D[i+1][j];
        }
    }
    for(int i=1; i<=N; i++) for(int j=1; j<=N; j++) if(!F[i-1][j-1]) {
        int l=L[i][j], r=R[i][j], d=D[i][j];
        if(l && d && S[N][l]-S[d-1][l]) return 0;
        if(r && d && S[N][N]-S[N][r-1]-S[d-1][N]+S[d-1][r-1]) return 0;
        if(l && X[i][l-1]) return 0;
        if(d && Y[N][j]-Y[N][d]) return 0;
    }
    return N*N-cnt;
}
# 결과 실행 시간 메모리 Grader output
1 Partially correct 0 ms 344 KB partial
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB ok
2 Incorrect 1 ms 2392 KB wrong
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB ok
2 Incorrect 1 ms 2392 KB wrong
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 1 ms 348 KB ok
3 Incorrect 1 ms 2392 KB wrong
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 1 ms 348 KB ok
3 Incorrect 1 ms 2392 KB wrong
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 1 ms 348 KB ok
3 Incorrect 1 ms 2392 KB wrong
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 1 ms 348 KB ok
3 Incorrect 1 ms 2392 KB wrong
4 Halted 0 ms 0 KB -