This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <vector>
using namespace std;
pair<int, vector<vector<bool>>> solve_smalln(int n, int m) {
int remilia = (n - 1) / 2;
int flandre = m / 2 + 1;
int rowcnt = 1ll * remilia * m / flandre;
vector<vector<bool>> ans(n, vector<bool>(m, 0));
int currow = 0;
for (int j = 0; j < m; ++j) {
for (int t = 0; t < remilia; ++t) {
ans[currow++][j] = 1;
currow %= rowcnt;
}
}
return {m + rowcnt, ans};
}
void solve() {
int n, m;
cin >> n >> m;
if (n <= m) {
auto [cnt, ans] = solve_smalln(n, m);
cout << cnt << '\n';
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if (ans[i][j])
cout << '+';
else
cout << '-';
}
cout << '\n';
}
} else {
auto [cnt, ans] = solve_smalln(m, n);
cout << cnt << '\n';
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if (!ans[j][i])
cout << '+';
else
cout << '-';
}
cout << '\n';
}
}
}
signed main() {
int t;
cin >> t;
while (t--) {
solve();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |