Submission #1190960

#TimeUsernameProblemLanguageResultExecution timeMemory
1190960AlgorithmWarriorRed-blue table (IZhO19_stones)C++20
100 / 100
27 ms2376 KiB
#include <bits/stdc++.h>

using namespace std;

int const MAX=1005;
int n,m;
bool mat[MAX][MAX];

void solve(){
    int i,j;
    if(n<=m){
        int add=(n-1)/2*m/(m/2+1);
        cout<<add+m<<'\n';
        int col=m;
        for(i=1;i<=n;++i){
            for(j=1;j<=m;++j)
                mat[i][j]=0;
            if(i<=add){
                for(j=1;j<=m/2+1;++j){
                    col=col%m+1;
                    mat[i][col]=1;
                }
            }
            for(j=1;j<=m;++j)
                if(mat[i][j])
                    cout<<'+';
                else
                    cout<<'-';
            cout<<'\n';
        }
    }
    else{
        int add=(m-1)/2*n/(n/2+1);
        cout<<add+n<<'\n';
        int lin=n;
        for(j=1;j<=m;++j){
            for(i=1;i<=n;++i)
                mat[i][j]=1;
            if(j<=add){
                for(i=1;i<=n/2+1;++i){
                    lin=lin%n+1;
                    mat[lin][j]=0;
                }
            }
        }
        for(i=1;i<=n;++i){
            for(j=1;j<=m;++j)
                if(mat[i][j])
                    cout<<'+';
                else
                    cout<<'-';
            cout<<'\n';
        }
    }
}

int main()
{
    int tests;
    cin>>tests;
    while(tests--){
        cin>>n>>m;
        solve();
    }
    return 0;
}
#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...