#include<bits/stdc++.h>
using namespace std;
void solve1(int n,int m){
if(n<m){
int k=n/2;
while(k<=n-k)k++;
cout<<m+n-k<<'\n';
for(int i=0;i<k;i++){
for(int j=0;j<m;j++){
cout<<'-';
}cout<<'\n';
}
for(int i=k;i<n;i++){
for(int j=0;j<m;j++){
cout<<'+';
}cout<<'\n';
}
}else{
int k=m/2;
while(k<=m-k)k++;
cout<<m+n-k<<'\n';
for(int i=0;i<n;i++){
for(int j=0;j<k;j++){
cout<<'+';
}for(int j=k;j<m;j++){
cout<<'-';
}cout<<'\n';
}
}
}
void solve(){
int n,m;
cin>>n>>m;
if(min(n,m)<5){
solve1(n,m);
return;
}
string s[n];
for(int i=0;i<n;i++)s[i]=string(m,'+');
int l=n/2;
while(l<=n-l)l++;
int r=m/2;
while(m-r<=r)r--;
for(int i=0;i<l;i++){
for(int j=0;j<r;j++){
s[i][j]='-';
}
}
for(int i=n-1;n-l<=i;i--){
for(int j=m-1;m-r<=j;j--){
s[i][j]='-';
}
}
int ans=n+m-4+(n&1)+(m&1);
cout<<ans<<'\n';
for(int i=0;i<n;i++){
cout<<s[i]<<'\n';
}
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
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... |