제출 #1133136

#제출 시각아이디문제언어결과실행 시간메모리
1133136michael12Red-blue table (IZhO19_stones)C++20
27 / 100
35 ms1400 KiB
#include<iostream>
using namespace std;
int main(){
    long long int tt,c,d,e;
    cin>>tt;
    while(tt--){
        long long int n,m;
        cin>>m>>n;
        if(m==1 || n==1){
            if(n==1){
                cout<<m<<endl;
                for(int i=1; i<=m; i++){
                cout<<"+"<<endl;
                }
                cout<<endl;
            }
            else{
                cout<<n<<endl;
                for(int i=1; i<=n; i++){
                    cout<<"-";
                }
                cout<<endl;
            }
        }
        else if(n==2 || m==2){
            if(m==2){
                cout<<n<<endl;
                for(int i=1; i<=2; i++){
                    for(int j=1; j<=n; j++){
                        cout<<"-";
                    }
                    cout<<endl;
                }
                cout<<endl;
            }
            else
            {
                cout<<m<<endl;
                for(int i=1; i<=m; i++){
                    for(int j=1; j<=2; j++){
                        cout<<"+";
                    }
                    cout<<endl;
                }
                cout<<endl;
            }
        }
        else
        {
            if(m>=n && n%2==1){
                cout<<m+n/2<<endl;
                for(int i=1; i<=m; i++){
                    for(int i=1; i<=n/2; i++){
                        cout<<"-";
                    }
                    for(int i=1; i<=n - (n/2); i++){
                        cout<<"+";
                    }
                    cout<<endl;
                }
                cout<<endl;
                
            }
            else if(m>=n && m%2==0){
                cout<<m+(n-2)/2<<endl;
                for(int i=1; i<=m; i++){
                    for(int i=1; i<=(n-2)/2; i++){
                        cout<<"-";
                    }
                    for(int i=1; i<=n - (n-2)/2; i++){
                        cout<<"+";
                    }
                    cout<<endl;
                }
                cout<<endl;
            }
            else if(n>m && m%2==1){
                cout<<n+m/2<<endl;
                for(int i=1; i<=m/2; i++){
                    for(int i=1; i<=n; i++){
                        cout<<"+";
                    }
                    cout<<endl;
                }
                for(int i=1; i<=m - (m/2); i++){
                    for(int i=1; i<=n; i++){
                        cout<<"-";
                    }
                    cout<<endl;
                }
            }
            else if(n>m && m%2==0){
                cout<<n+(m-2)/2<<endl;
                for(int i=1; i<=(m-2)/2; i++){
                    for(int i=1; i<=n; i++){
                        cout<<"+";
                    }
                    cout<<endl;
                }
                for(int i=1; i<=m - (m-2)/2; i++){
                    for(int i=1; i<=n; i++){
                        cout<<"-";
                    }
                    cout<<endl;
                }
                cout<<endl;
            }
        }
        
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...