#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 1e9 + 7, V = 32;
vector<string> sol(int n,int m)
{
vector<string> v;
for (int i=0;i<n/2;i++)
{
string s(m/2+1,'+'),s1(m/2,'-');
s+=s1;
v.push_back(s);
}
string wh(m,'-');
v.push_back(wh);
for (int i=0;i<n/2;i++)
{
string s(m/2+1,'+'),s1(m/2,'-');
s1+=s;
v.push_back(s1);
}
return v;
}
signed main()
{
int t;
cin>>t;
while (t--)
{
int n,m;
cin>>n>>m;
if (min(n,m)<=2)
{
cout<<max(n,m)<<endl;
char c='+';
if (min(n,m)==n)
c='-';
for (int i=0;i<n;i++)
{
string s(m,c);
cout<<s<<endl;
}
}
else if (n%2 && m%2)
{
cout<<n+m-2<<endl;
vector<string> v=sol(n,m);
for (auto i:v)
cout<<i<<endl;
}
else if (n%2)
{
cout<<n+m-3<<endl;
vector<string> v=sol(n,m-1);
for (auto i:v)
cout<<i<<'+'<<endl;
}
else if(m%2)
{
cout<<n+m-3<<endl;
vector<string> v=sol(n-1,m);
for (auto i:v)
cout<<i<<endl;
string s(m,'-');
cout<<s<<endl;
}
else
{
cout<<n+m-4<<endl;
vector<string> v=sol(n-1,m-1);
for (auto i:v)
cout<<i<<'+'<<endl;
string s(m,'-');
cout<<s<<endl;
}
}
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... |