Submission #1156276

#TimeUsernameProblemLanguageResultExecution timeMemory
1156276Jawad_Akbar_JJRed-blue table (IZhO19_stones)C++20
27 / 100
26 ms1348 KiB
#include <iostream> #include <deque> using namespace std; char a[1005][1005]; int num[1005]; int solve(int n, int m, int p = 0, int sw = 0){ for (int i=0;i<=n;i++) num[i] = m; for (int i=0;i<n;i++) for (int j=0;j<m;j++) a[i][j] = '+'; deque<int> d; while (d.size() + d.size() <= n) d.push_back(d.size()); int Ans = n; for (int j=0;j<m;j++){ bool t = 1; for (int i : d) t &= (num[i] - 1) * 2 > m; if (!t) break; Ans++; for (int i : d) num[i]--, a[i][j] = '-'; d.push_back((d.back() + 1) % n); d.pop_front(); } if (p == 0) return Ans; cout<<Ans<<'\n'; if (sw){ for (int j=0;j<m;j++){ for (int i=0;i<n;i++) a[i][j] = '+' + '-' - a[i][j], cout<<a[i][j]; cout<<'\n'; } return Ans; } for (int i=0;i<n;i++){ for (int j=0;j<m;j++) cout<<a[i][j]; cout<<'\n'; } return Ans; } int main(){ int n, m, t; cin>>t; while (t--){ cin>>n>>m; if (solve(n, m) > solve(m, n)) solve(n, m, 1, 0); else solve(m, n, 1, 1); } }
#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...