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 <bits/stdc++.h>
typedef long long ll;
using namespace std;
void solve(){
    int n, m;
    cin >> n >> m;
    if(n>m){
        cout << n+floor((m-1)/2) << "\n";
        for(int i = 0; i < n; i++){
          for(int j = 0; j < m; j++){
            if(j>m/2){
                cout << "-";
            }  
            else{
                cout << "+";
            }
          }
          cout << "\n";
        }
    }
    else if(n<m){
        cout << m+floor((n-1)/2) << "\n";
        for(int i = 0; i < n; i++){
          for(int j = 0; j < m; j++){
            if(i>n/2){
                cout << "+";
            }  
            else{
                cout << "-";
            }
          }
          cout << "\n";
        }
    }
    else{
        cout << n+floor((m-1)/2) << "\n";
        for(int i = 0; i < n; i++){
          for(int j = 0; j < m; j++){
            if(j>m/2){
                cout << "-";
            }  
            else{
                cout << "+";
            }
          }
          cout << "\n";
        }
    }
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t;
    cin >> t;
    while(t--){
        solve();
    }
    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... |