This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define x first
#define y second
#define pii pair<int,int>
using ll=long long;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define vl vector<ll>
#define all(a) begin(a),end(a)
using namespace std;
const int N=300010,MOD=1e9+7;
const char en='\n';
const ll LLINF=1ll<<60;
int t,n,m;
string re[N];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>t;
while (t--)
{
cin>>n>>m;
int ma=-1,kak=-1;
for (int ms=0;ms<=n/2;++ms)
{
int re=min(m,((n-ms)*((m-1)/2))/(n/2+1-ms))+n-ms;
if (re>ma)
{
ma=re;
kak=ms;
}
}
if (m+n-(n/2+1)>ma)
{
ma=m+n-(n/2+1);
kak=n/2+1;
}
cout<<ma<<en;
int ms=kak;
for (int i=0;i<ms;++i)
{
re[i]=string(m,'-');
}
for (int i=ms;i<n;++i) re[i]=string(m,'+');
int pc=(m-1)/2;
if (ms!=n/2+1) for (int k=0;k<pc*(n-ms);++k)
{
int i=k%(n-ms)+ms,j=k/(n/2+1-ms);
if (j>=m) break;
re[i][j]='-';
}
for (int i=0;i<n;++i) cout<<re[i]<<en;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |