Submission #1094245

#TimeUsernameProblemLanguageResultExecution timeMemory
1094245MuhammetRed-blue table (IZhO19_stones)C++17
100 / 100
22 ms2392 KiB
#include <bits/stdc++.h> using namespace std; vector <vector <char>> a; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin >> T; while(T--){ int n, m; cin >> n >> m; if(n >= m){ a.assign(n, vector <char> (m,'+')); vector <int> vis(n,0), v; int x = 0; for(int j = 0; j < m; j++){ int cnt = (n/2 + 1); v.clear(); while(cnt--){ v.push_back(x); // cout << x << " "; x++; x %= n; } // cout << '\n'; bool tr = 0; // cout << (int)v.size() << ' '; for(int i = 0; i < (int)v.size(); i++){ vis[v[i]]++; // cout << i << " "; if(vis[v[i]] > (m-(m/2 + 1))){ tr = 1; break; } } // cout << "\n"; if(tr == 1){ break; } for(int i = 0; i < (int)v.size(); i++){ a[v[i]][j] = '-'; } } } else { a.assign(n, vector <char> (m,'-')); vector <int> vis(m,0), v; int x = 0; for(int j = 0; j < n; j++){ int cnt = (m/2 + 1); v.clear(); while(cnt--){ v.push_back(x); x++; x %= m; } bool tr = 0; for(auto i : v){ vis[i]++; if(vis[i] > (n-(n/2 + 1))){ tr = 1; break; } } if(tr == 1) break; for(auto i : v){ a[j][i] = '+'; } } } int ans = 0; for(int i = 0; i < n; i++){ int a1 = 0, b1 = 0; for(int j = 0; j < m; j++){ if(a[i][j] == '+') a1++; else b1++; } ans += (a1 > b1); } for(int j = 0; j < m; j++){ int a1 = 0, b1 = 0; for(int i = 0; i < n; i++){ if(a[i][j] == '+') a1++; else b1++; } ans += (b1 > a1); } cout << ans << '\n'; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cout << a[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...