Submission #852016

#TimeUsernameProblemLanguageResultExecution timeMemory
852016denniskimSoccer Stadium (IOI23_soccer)C++17
1.50 / 100
322 ms63316 KiB
#include "soccer.h" #include <bits/stdc++.h> using namespace std; typedef int ll; typedef __int128 lll; typedef long double ld; typedef pair<ll, ll> pll; typedef pair<ld, ld> pld; #define MAX 9223372036854775807LL #define MIN -9223372036854775807LL #define INF 987654321 #define fi first #define se second #define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cout << fixed; cout.precision(10); #define sp << " " #define en << "\n" #define compress(v) sort(v.begin(), v.end()), v.erase(unique(v.begin(), v.end()), v.end()) ll n; ll a[2010][2010]; ll chk[2010][2010]; ll dx[] = {-1, 1, 0, 0}; ll dy[] = {0, 0, -1, 1}; ll biggest_stadium(ll N, vector<vector<ll> > F) { n = N; for(ll i = 1 ; i <= n ; i++) { for(ll j = 1 ; j <= n ; j++) a[i][j] = F[i - 1][j - 1]; } ll ans = 0; ll X, Y; for(ll i = 1 ; i <= n ; i++) { for(ll j = 1 ; j <= n ; j++) { if(a[i][j] == 0) X = i, Y = j; } } queue<pll> q; q.push({X, Y}); chk[X][Y] = 1; while(!q.empty()) { pll qq = q.front(); q.pop(); ans++; for(ll d = 0 ; d < 4 ; d++) { ll nx = qq.fi + dx[d]; ll ny = qq.se + dy[d]; if(nx <= 0 || ny <= 0 || nx > n || ny > n) continue; if(chk[nx][ny] || a[nx][ny]) continue; chk[nx][ny] = 1; q.push({nx, ny}); } } for(ll i = 1 ; i <= n ; i++) { ll minn = INF, maxx = -INF; for(ll j = 1 ; j <= n ; j++) { if(a[i][j] == 0) { minn = min(minn, j); maxx = max(maxx, j); } } if(minn == INF) continue; for(ll j = minn + 1 ; j < maxx ; j++) { if(a[i][j] == 1) return -1; } } for(ll j = 1 ; j <= n ; j++) { ll minn = INF, maxx = -INF; for(ll i = 1 ; i <= n ; i++) { if(a[i][j] == 0) { minn = min(minn, i); maxx = max(maxx, i); } } if(minn == INF) continue; for(ll i = minn + 1 ; i < maxx ; i++) { if(a[i][j] == 1) return -1; } } return ans; }

Compilation message (stderr)

soccer.cpp: In function 'll biggest_stadium(ll, std::vector<std::vector<int> >)':
soccer.cpp:51:12: warning: 'Y' may be used uninitialized in this function [-Wmaybe-uninitialized]
   51 |  chk[X][Y] = 1;
      |  ~~~~~~~~~~^~~
soccer.cpp:51:12: warning: 'X' may be used uninitialized in this function [-Wmaybe-uninitialized]
#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...