Submission #434480

#TimeUsernameProblemLanguageResultExecution timeMemory
434480dutchRed-blue table (IZhO19_stones)C++17
38 / 100
44 ms2032 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n, m; bool g[1000][1000]; int fill(int x){ for(int i=0; i<n; ++i) fill(g[i], g[i]+m, 0); int req = m/2, ver = n/2; while(req <= m-req) ++req; while(ver <= n-ver) ++ver; req -= m-x; for(int j=0; j<x; ++j) for(int i=0; i<n; ++i) g[i][j] = (j < req) ? n-i <= ver : i < ver; int curr = x; for(int i=0; i<n; ++i){ int s = 0; for(int j=0; j<x; ++j) s += !g[i][j]; curr += s >= req; } return curr; } signed main(){ cin.tie(0)->sync_with_stdio(0); int T; cin >> T; while(T--){ cin >> n >> m; array<int, 2> mx = {-1, -1}; for(int x=max(0LL, m-4); x<=m; ++x){ mx = max(mx, {fill(x), x}); } fill(mx[1]); cout << mx[0] << '\n'; for(int i=0; i<n; ++i){ for(int j=0; j<m; ++j) cout << (g[i][j] ? '-' : '+'); cout << '\n'; } } }
#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...