Submission #598987

#TimeUsernameProblemLanguageResultExecution timeMemory
598987JomnoiRed-blue table (IZhO19_stones)C++17
17 / 100
24 ms1364 KiB
#include <bits/stdc++.h> using namespace std; const int MAX_N = 1005; int a[MAX_N][MAX_N], b[MAX_N][MAX_N]; void solve(int N, int M) { int ans = 0; if(N <= 4 and M <= 4) { for(int mask = 0; mask < (1<<(N * M)); mask++) { int sum = 0; for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { if(mask & (1<<(i * M + j))) { a[i][j] = 1; } else { a[i][j] = 0; } } } for(int i = 0; i < N; i++) { int cnt1 = 0; for(int j = 0; j < M; j++) { cnt1 += a[i][j]; } sum += (cnt1 > M - cnt1); } for(int j = 0; j < M; j++) { int cnt1 = 0; for(int i = 0; i < N; i++) { cnt1 += a[i][j]; } sum += (N - cnt1 > cnt1); } if(ans < sum) { ans = sum; for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { b[i][j] = a[i][j]; } } } } } else { // do nothing } cout << ans << '\n'; for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { if(b[i][j] == 1) { cout << '+'; } else { cout << '-'; } } cout << '\n'; } } int main() { cin.tie(nullptr)->sync_with_stdio(false); int T; cin >> T; while(T--) { int N, M; cin >> N >> M; solve(N, M); } return 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...