Submission #973406

#TimeUsernameProblemLanguageResultExecution timeMemory
973406irmuunSoccer Stadium (IOI23_soccer)C++17
6 / 100
227 ms31784 KiB
#include<bits/stdc++.h>
#include "soccer.h"

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

int biggest_stadium(int n,vector<vector<int>>f){
    int total=0,x,y;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(f[i][j]==1){
                total++;
                x=i;
                y=j;
            }
        }
    }
    if(total<=1){
        if(total==0){
            return n*n;
        }
        else{
            if(x==0||y==0||x==n-1||y==n-1){
                return n*n-1;
            }
            x++;
            y++;
            x=min(x,n+1-x);
            y=min(y,n+1-y);
            return n*n-x*y;
        }
    }
    bool can=true;
    vector<pair<int,int>>v,u;
    for(int i=0;i<n;i++){
        int l=-1,r=-1;
        for(int j=0;j<n;j++){
            if(f[i][j]==0){
                if(l==-1) l=j;
                r=j;
            }
        }
        for(int j=l;j<=r;j++){
            if(f[i][j]==1){
                can=false;
            }
        }
        if(l!=-1) v.pb({l,r});
    }
    for(int j=0;j<n;j++){
        int l=-1,r=-1;
        for(int i=0;i<n;i++){
            if(f[i][j]==0){
                if(l==-1) l=i;
                r=i;
            }
        }
        for(int i=l;i<=r;i++){
            if(f[i][j]==1){
                can=false;
            }
        }
        if(l!=-1) u.pb({l,r});
    }
    for(auto [l1,r1]:v){
        for(auto [l2,r2]:v){
            if(l1<=l2&&r2<=r1) continue;
            if(l2<=l1&&r1<=r2) continue;
            can=false;
        }
    }
    if(can){
        return n*n-total;
    }
    return 0;
}

Compilation message (stderr)

soccer.cpp: In function 'int biggest_stadium(int, std::vector<std::vector<int> >)':
soccer.cpp:29:34: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
   29 |             if(x==0||y==0||x==n-1||y==n-1){
      |                ~~~~~~~~~~~~~~~~~~^~~~~~~~
soccer.cpp:29:26: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
   29 |             if(x==0||y==0||x==n-1||y==n-1){
      |                ~~~~~~~~~~^~~~~~~~
#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...