Submission #1063998

#TimeUsernameProblemLanguageResultExecution timeMemory
1063998parsadox2Soccer Stadium (IOI23_soccer)C++17
6 / 100
200 ms54704 KiB
#include "soccer.h"
#include <bits/stdc++.h>

using namespace std;

const int N = 2e3 + 10;
int n;
vector<vector<int>> a;

int Count(int ty , int x , int y)
{
    int res = 0;
    if(ty == 0)
    {
        for(int i = 0 ; i <= x ; i++)  for(int j = 0 ; j <= y ; j++)
            res += (1 - a[i][j]);
    }
    else if(ty == 1)
    {
        for(int i = 0 ; i <= x ; i++)  for(int j = y ; j < n ; j++)
            res += (1 - a[i][j]);
    }
    else if(ty == 2)
    {
        for(int i = x ; i < n ; i++)  for(int j = 0 ; j <= y ; j++)
            res += (1 - a[i][j]);
    }
    else
    {
        for(int i = x ; i < n ; i++)  for(int j = y ; j < n ; j++)
            res += (1 - a[i][j]);
    }
    return res;
}

int biggest_stadium(int nn, vector<std::vector<int>> F)
{
    n = nn;
    a = F;
    int ans = n * n;
    for(int i = 0 ; i < n ; i++)  for(int j = 0 ; j < n ; j++)  if(a[i][j] == 1)
    {
        ans--;
        int tmp = n * n;
        for(int ty = 0 ; ty < 4 ; ty++)
            tmp = min(tmp , Count(ty , i , j));
        ans -= tmp;
    }
    ans = max(ans , 1);
    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...