제출 #998522

#제출 시각아이디문제언어결과실행 시간메모리
998522irmuunSoccer Stadium (IOI23_soccer)C++17
30 / 100
4582 ms440 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 n;
vector<vector<int>>f;
int solve(int x,int y){
    int ly=y,ry=y;
    while(ly>0&&f[x][ly-1]==0){
        ly--;
    }
    while(ry<n-1&&f[x][ry+1]==0){
        ry++;
    }
    int left=ly,right=ry;
    int total=ry-ly+1;
    vector<char>c;
    for(int i=0;i<x;i++){
        c.pb('L');
    }
    for(int i=x+1;i<n;i++){
        c.pb('R');
    }
    int lx=x,rx=x;
    int ans=0;
    do{
        ly=left;
        ry=right;
        lx=x;
        rx=x;
        int cur=ry-ly+1;
        for(int i=0;i<c.size();i++){
            if(c[i]=='L'){
                if(f[lx-1][y]==1) continue;
                lx--;
                int l=y,r=y;
                while(l>ly&&f[lx][l-1]==0) l--;
                while(r<ry&&f[lx][r+1]==0) r++;
                cur+=r-l+1;
                ly=l,ry=r;
            }
            else{
                if(f[rx+1][y]==1) continue;
                rx++;
                int l=y,r=y;
                while(l>ly&&f[rx][l-1]==0) l--;
                while(r<ry&&f[rx][r+1]==0) r++;
                cur+=r-l+1;
                ly=l,ry=r;
            }
        }
        ans=max(ans,cur);
    }while(next_permutation(all(c)));
    return ans;
}

int biggest_stadium(int N,vector<vector<int>>F){
    n=N;
    f=F;
    int ans=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(f[i][j]==0){
                ans=max(ans,solve(i,j));
            }
        }
    }
    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

soccer.cpp: In function 'int solve(int, int)':
soccer.cpp:40:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |         for(int i=0;i<c.size();i++){
      |                     ~^~~~~~~~~
soccer.cpp:24:9: warning: unused variable 'total' [-Wunused-variable]
   24 |     int total=ry-ly+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...