#include<bits/stdc++.h>
#define ll long long
#define nl "\n"
#define all(v) v.begin(),v.end()
#define baraa ios_base::sync_with_stdio(false);cin.tie(NULL);
using namespace std;
int main() {
baraa
ll t;
cin >> t;
while (t--) {
ll n, m;
cin >> n >> m;
ll best = -1;
char g[n][m];
for (ll a = 0; a <= n; a++) {
char grid[n][m];
map<pair<char, ll>, vector<ll> > rows, cols;
vector<ll> neg[n];
for (ll i = 0; i < n; i++)
for (ll j = 0; j < m; j++)
grid[i][j] = (i < a and j <= m / 2 ? '+' : '-');
ll b = 0;
for (ll j = m - 1; j >= 0; j--) {
ll delta = n / 2 + 1;
for (ll i = 0; i < n; i++)
delta -= (grid[i][j] == '-');
if (delta < 0) {
for (ll i = 0; i < abs(delta); i++)
neg[i].push_back(j);
b++;
} else {
for (ll i = 0; i < n; i++) {
if (delta == 0)break;
if (neg[i].size()) {
delta--;
swap(grid[i][j], grid[i][neg[i].back()]);
neg[i].pop_back();
}
}
}
b += (delta == 0);
}
// cout << a + b << nl;
// for (ll i = 0; i < n; i++) {
// for (ll j = 0; j < m; j++)
// cout << grid[i][j] << ' ';
// cout << nl;
// }
if (best < a + b) {
best = a + b;
memcpy(g, grid, sizeof(grid));
}
}
cout << best << nl;
for (ll i = 0; i < n; i++) {
for (ll j = 0; j < m; j++)
cout << g[i][j];
cout << nl;
}
}
return 0;
}
# | 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... |