# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
170307 | bgspartan | Red-blue table (IZhO19_stones) | C++14 | 32 ms | 2168 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>
#define ll long long
using namespace std;
const ll maxN=1001;
char table[maxN][maxN];
bool fr1=false,fr2=false;
void fillTable(ll n,ll m,bool my){
ll mod=n/2+1,rep=m-(m/2+1);
ll diff=(n/2+1)-(n-(n/2+1));
if(m>2){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(j<rep*((i/mod)+1) and j>=rep*(i/mod)){
table[i][j]='-';
}else{
table[i][j]='+';
}
}
}
if(my==true){
for(int i=0;i<diff;i++){
for(int j=0;j<m;j++){
table[n/2-i][j]='-';
}
}
}
}else{
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
table[i][j]='+';
}
}
}
}
ll n[maxN],m[maxN];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
ll t,ans1=0,ans2=0;
cin>>t;
for(int i=0;i<t;i++){
cin>>n[i]>>m[i];
}
for(int i=0;i<t;i++){
ll lef1=0,lef2,frmin1=0,frmin2=0;
fr1=false;
fr2=false;
lef1=m[i]-(m[i]/2+1);
lef2=n[i]-(n[i]/2+1);
ans1=n[i]+lef1;
ans2=m[i]+lef2;
frmin1=(m[i]-(m[i]/2+1))*lef2;
frmin2=(n[i]-(n[i]/2+1))*lef1;
if(m[i]-m[i]/2-1>(n[i]/2+1)-(n[i]-(n[i]/2+1))){
ans1+=m[i]-m[i]/2-1;
ans1-=(n[i]/2+1)-(n[i]-(n[i]/2+1));
fr1=true;
}
if(n[i]-n[i]/2-1>(m[i]/2+1)-(m[i]-(m[i]/2+1))){
ans2+=n[i]-n[i]/2-1;
ans2-=(m[i]/2+1)-(m[i]-(m[i]/2+1));
fr2=true;
}
//cout<<frmin1<<" "<<frmin2<<"\n";
//cout<<lef1<<" "<<lef2<<"\n";
// cout<<ans1<<" "<<ans2<<"\n";
if(ans1>=ans2){
fillTable(n[i],m[i],fr1);
cout<<ans1<<"\n";
for(int j=0;j<n[i];j++){
for(int h=0;h<m[i];h++){
cout<<table[j][h];
}
cout<<"\n";
}
}else{
fillTable(m[i],n[i],fr2);
cout<<ans2<<"\n";
for(int j=n[i]-1;j>=0;j--){
for(int h=0;h<m[i];h++){
if(table[h][j]=='-'){
cout<<"+";
}else{
cout<<"-";
}
}
cout<<"\n";
}
}
}
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... |