Submission #1357814

#TimeUsernameProblemLanguageResultExecution timeMemory
1357814nobasistakenRed-blue table (IZhO19_stones)C++20
27 / 100
16 ms1472 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define endl '\n'
#define all(v) v.begin(),v.end()
bool testcases=1;
void solve() {
    int n,m;
    cin>>n>>m;
    bool flag=0;
    if (n>m) {
        swap(n,m);
        flag=1;
    }
    int cc[m+1],cr[n+1];
    memset(cc,0,sizeof(cc));
    memset(cr,0,sizeof(cr));
    vector<vector<char>> v(max(n,m)+1,vector<char>(max(n,m)+1,'-'));
    for (int i=1;i<=n;i++) {
        for (int j=1;j<=m;j++) {
            if (cc[j]<(n-1)/2 and cr[i]<(m/2+1)) {
                v[i][j]='+';
                cc[j]++;
                cr[i]++;
            }
        }
    }
    int ans=0;
    for (int i=1;i<=n;i++) {
        if (cr[i]>=m/2+1)ans++;
    }
    for (int j=1;j<=m;j++) {
        if (cc[j]<=(n-1)/2)ans++;
    }
    cout<<ans<<endl;
    if (flag) {
        for (int j=1;j<=m;j++) {
            for (int i=1;i<=n;i++) {
                cout<<(v[i][j]=='+'?'-':'+');
            }
            cout<<endl;
        }
        return;
    }
    for (int i=1;i<=n;i++) {
        for (int j=1;j<=m;j++) {
            cout<<v[i][j];
        }
        cout<<endl;
    }

}
signed main() {
    iostream::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int t=1;
    if (testcases)cin>>t;
    for(int i=1;i<=t;i++){
        solve();
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...