Submission #1230781

#TimeUsernameProblemLanguageResultExecution timeMemory
1230781KindaNamelessRed-blue table (IZhO19_stones)C++20
15 / 100
16 ms1468 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double void solve() { int N, M; cin >> N >> M; vector<vector<char>> A(N, vector<char>(M, '+')); bool rot = 0; if(N < M) { swap(N, M); rot = 1; } vector<int> cnt(N, M); bool can = 1; int r = 0, c = 0, answer = N; while(can) { int it = r; for(int i = 1; i <= N / 2 + 1; ++i) { cnt[it]--; it++; if(it >= N)it = 0; } it = r; for(int i = 1; i <= N / 2 + 1; ++i) { if(cnt[it] <= N / 2) { can = 0; } it++; if(it >= N)it = 0; } if(!can) { break; } answer++; for(int i = 1; i <= N / 2 + 1; ++i) { if(rot) { A[c][r] = '-'; } else { A[r][c] = '-'; } r++; if(r >= N)r = 0; } c++; } cout << answer << "\n"; if(rot) { for(int i = 0; i < M; ++i) { for(int j = 0; j < N; ++j) { cout << (A[i][j] == '+' ? '-' : '+'); } cout << "\n"; } return; } for(int i = 0; i < N; ++i) { for(int j = 0; j < M; ++j) { cout << A[i][j]; } cout << "\n"; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tc = 1; cin >> tc; while(tc--) { solve(); } 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...