Submission #1156237

#TimeUsernameProblemLanguageResultExecution timeMemory
1156237Faisal_SaqibRed-blue table (IZhO19_stones)C++20
27 / 100
24 ms1352 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define ull unsigned long long
#define vll vector<ll>
#define pll pair<ll,ll>
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()

template<typename T>
using minpq = priority_queue<T, vector<T>, greater<T>>;
template<typename T>
using maxpq = priority_queue<T, vector<T>, less<T>>;

void input(vll&q)
{
    for(auto&i:q)cin>>i;
}
void pyn(bool x)
{
    cout<<(x?"YES":"NO")<<endl;
}
void pYN(bool x)
{
    cout<<(x?"Yes":"No")<<endl;
}
void pAB(bool x)
{
    cout<<(x?"Alice":"Bob")<<endl;
}
ll mx_pos(ll n,ll m)
{

    ll r=(m/2)+1; // red in row
    ll b=(m-r); // blue in row
    ll tb=b*n; // total blue in grid
    ll bm=(n/2)+1; // blue req in a single column
    // cout<<b<<' '<<tb<<' '<<bm<<endl;
    // return (n+min(m,(tb/bm)));
    return (n+b);
}
void solve()
{
    ll n,m;
    cin>>n>>m;
    ll mx=mx_pos(n,m);
    if(mx>=mx_pos(m,n))
    {
        string cur(m,'+');
        for(int i=0;i<((m-1)/2);i++)
            cur[i]='-';
        cout<<mx_pos(n,m)<<endl;
        for(int i=0;i<n;i++)
            cout<<cur<<endl;
    }
    else
    {
        string cur(n,'-');
        for(int i=0;i<((n-1)/2);i++)
            cur[i]='+';
        cout<<mx_pos(m,n)<<endl;
        for(int j=0;j<n;j++)
        {
            for(int i=0;i<m;i++)
                cout<<cur[j];        
            cout<<endl;
        }
    }
    // cout<<max(mx_pos(n,m),mx_pos(m,n))<<endl;
}

int main()
{
    int t=1;
    cin>>t;
    while(t--)solve();
}
#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...