# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
868076 | alexdd | Red-blue table (IZhO19_stones) | C++17 | 29 ms | 1364 KiB |
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>
using namespace std;
int n,m;
bool aux[1000005];
bool verif(int cntl, int cntc)
{
if(min(cntl,(n-1)/2) * cntc + cntl * (m-cntc) >= cntl * (m-(m-1)/2))
return 1;
return 0;
}
void afis(int cntl, int cntc)
{
int cnt0 = (m-(m-1)/2) - (m-cntc);
int cnt1 = cntc - cnt0;
int st=1;
for(int i=1;i<=cntl;i++)
{
for(int j=1;j<=m;j++)
aux[j]=0;
for(int j=0;j<cnt0;j++)
aux[((st+j-1)%m+1)]=1;
for(int j=1;j<=m;j++)
{
if(aux[j])
cout<<'+';
else
cout<<'-';
}
cout<<"\n";
if(st==cntc)
st=1;
else
st++;
}
for(int i=cntl+1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cout<<'-';
cout<<"\n";
}
}
signed main()
{
//ios_base::sync_with_stdio(0);cin.tie(0);
int t;
cin>>t;
while(t--)
{
cin>>n>>m;
int mxm=-1,carel,carec;
for(int cntl=0;cntl<=n;cntl++)
{
for(int cntc=0;cntc<=m;cntc++)
{
if(cntl+cntc>mxm && verif(cntl,cntc))
{
mxm=cntl+cntc;
carel=cntl;
carec=cntc;
}
}
}
//cout<<mxm<<" "<<carel<<" "<<carec<<"\n";
cout<<mxm<<"\n";
afis(carel,carec);
}
return 0;
}
Compilation message (stderr)
# | 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... |