제출 #1115541

#제출 시각아이디문제언어결과실행 시간메모리
1115541biximo축구 경기장 (IOI23_soccer)C++17
8 / 100
4523 ms592 KiB
#include <bits/stdc++.h> #include "soccer.h" using namespace std; const int N = 10; bool test(vector<vector<bool>> vs) { int n = vs.size(); for(int x1 = 0; x1 < n; x1 ++) { for(int y1 = 0; y1 < n; y1 ++) { if(!vs[x1][y1]) continue; for(int x2 = x1; x2 < n; x2 ++) { for(int y2 = 0; y2 < n; y2 ++) { if(!vs[x2][y2]) continue; if(x1 == x2 && y1 == y2) continue; bool w = 0; bool w1 = 1, w2 = 1; for(int x3 = x1; x3 <= x2; x3 ++) { if(!vs[x3][y1]) w1 = 0; } for(int y3 = min(y1,y2); y3 <= max(y1,y2); y3 ++) { if(!vs[x2][y3]) w1 = 0; } for(int y3 = min(y1,y2); y3 <= max(y1,y2); y3 ++) { if(!vs[x1][y3]) w2 = 0; } for(int x3 = x1; x3 <= x2; x3 ++) { if(!vs[x3][y2]) w2 = 0; } if(!w1 && !w2) return 0; } } } } return 1; } int biggest_stadium(int n, vector<vector<int>> grid) { int ans = 0; for(int i = 1; i < 1<<n*n; i ++) { vector<vector<bool>> vis(n, vector<bool>(n,0)); bool w = 1; for(int j = 0; j < n*n; j ++) { if(i&1<<j) { vis[j/n][j%n] = 1; if(grid[j/n][j%n]) { w = 0; } } } if(!w) continue; if(test(vis)) { ans = max(ans, __builtin_popcount(i)); } } return ans; } // int main() { // int n; cin >> n; // vector<vector<int>> grid(n, vector<int>(n)); // for(int i = 0; i < n; i++) { // for(int j = 0; j< n; j ++) { // cin >> grid[i][j]; // } // } // cout << biggest_stadium(n, grid); // }

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

soccer.cpp: In function 'bool test(std::vector<std::vector<bool> >)':
soccer.cpp:19:11: warning: unused variable 'w' [-Wunused-variable]
   19 |      bool w = 0;
      |           ^
#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...