Submission #602386

#TimeUsernameProblemLanguageResultExecution timeMemory
602386HanksburgerRed-blue table (IZhO19_stones)C++17
100 / 100
24 ms2264 KiB
#include <bits/stdc++.h>
using namespace std;
bool ans[1005][1005];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int t;
    cin >> t;
    while (t--)
    {
        int n, m;
        cin >> n >> m;
        bool b=0;
        if (n>m)
        {
            swap(n, m);
            b=1;
        }
        int k=n-n/2-1;
        int l=min(n, k*m/(m/2+1));
        cout << l+m << '\n';
        if (l)
        {
            for (int j=0; j<m; j++)
            {
                int L=k*j%l, R=k*(j+1)%l;
                if (L<R)
                    for (int i=0; i<l; i++)
                        ans[i][j]=(L<=i && i<R);
                else
                    for (int i=0; i<l; i++)
                        ans[i][j]=(L<=i || i<R);
                for (int i=l; i<n; i++)
                    ans[i][j]=0;
            }
        }
        else
            for (int i=0; i<n; i++)
                for (int j=0; j<m; j++)
                ans[i][j]=0;
        if (b)
        {
            for (int j=0; j<m; j++)
            {
                for (int i=0; i<n; i++)
                    cout << (ans[i][j]?'-':'+');
                cout << '\n';
            }
        }
        else
        {
            for (int i=0; i<n; i++)
            {
                for (int j=0; j<m; j++)
                    cout << (ans[i][j]?'+':'-');
                cout << '\n';
            }
        }
    }
    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...