/**
* author: a.k
* created: idk
**/
#include <bits/stdc++.h>
using namespace std;
#define all(x) x.begin(), x.end()
#define int long long
#define nl '\n'
void solve() {
int n, m; cin >> n >> m;
int opt = 0;
vector ans(n, vector(m, false));
for(int mask = 0; mask < (1 << (n * m)); mask++) {
vector cur(n, vector(m, false));
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
if(mask >> (i * m + j) & 1) {
cur[i][j] = true;
}
}
}
int A = 0, B = 0;
for(int i = 0; i < n; i++) {
int a = 0, b = 0;
for(int j = 0; j < m; j++) {
if(cur[i][j]) a++;
else b++;
}
if(a > b) {
A++;
}
}
for(int j = 0; j < m; j++) {
int a = 0, b = 0;
for(int i = 0; i < n; i++) {
if(cur[i][j]) a++;
else b++;
}
if(b > a) {
B++;
}
}
if(opt < A + B) {
opt = A + B;
ans = cur;
}
}
cout << opt << nl;
for(auto row : ans) {
for(auto i : row) {
cout << (i ? '+' : '-');
}
cout << nl;
}
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tt; cin >> tt;
while(tt--) 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... |