제출 #236473

#제출 시각아이디문제언어결과실행 시간메모리
236473kshitij_sodaniRed-blue table (IZhO19_stones)C++17
43 / 100
71 ms1388 KiB
#include <bits/stdc++.h> using namespace std; typedef int64_t llo; #define mp make_pair #define pb push_back #define a first #define b second int n,m,t; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>t; while(t--){ cin>>n>>m; if(n==1){ cout<<m<<endl; for(int j=0;j<m;j++){ cout<<"-"; } cout<<endl; } else if(m==1){ cout<<n<<endl; for(int j=0;j<n;j++){ cout<<"+"<<endl; } cout<<endl; } else if(n==2){ cout<<m<<endl; for(int i=0;i<m;i++){ cout<<"-"; } cout<<endl; for(int i=0;i<m;i++){ cout<<"-"; } cout<<endl; } else if(m==2){ cout<<n<<endl; for(int i=0;i<n;i++){ cout<<"++"<<endl; } } else if(n==3){ cout<<(m+1)<<endl; for(int i=0;i<m;i++){ cout<<"-"; } cout<<endl; for(int i=0;i<m;i++){ cout<<"+"; } cout<<endl; for(int i=0;i<m;i++){ cout<<"-"; } cout<<endl; } else if(m==3){ cout<<(n+1)<<endl; for(int i=0;i<n;i++){ cout<<"+-+"<<endl; } } else if(n==4){ cout<<m+1<<endl; for(int j=0;j<3;j++){ for(int i=0;i<m;i++){ cout<<"-"; } cout<<endl; } for(int i=0;i<m;i++){ cout<<"+"; } cout<<endl; } else if(m==4){ cout<<n+1<<endl; for(int i=0;i<n;i++){ cout<<"+++-"<<endl; } } else if(m%2==1 and n%2==1){ if(m+3+(n-5)/2>n+3+(m-5)/2){ cout<<(m+3+(n-5)/2)<<endl; int it[n][m]; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ it[i][j]=0; } } for(int i=0;i<(m+2)/2;i++){ it[0][i]=1; } for(int i=m-(m+2)/2;i<m;i++){ it[1][i]=1; } for(int j=0;j<m;j++){ if(it[0][j]!=1 or it[1][j]!=1){ it[2][j]=1; } } for(int i=5;i<n;i+=2){ for(int j=0;j<m;j++){ it[i][j]=1; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(it[i][j]==1){ cout<<"+"; } else{ cout<<"-"; } } cout<<endl; } } else{ cout<<(n+3+(m-5)/2)<<endl; int it[n][m]; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ it[i][j]=0; } } for(int i=0;i<(n+2)/2;i++){ it[i][0]=1; } for(int i=n-(n+2)/2;i<n;i++){ it[i][1]=1; } for(int j=0;j<n;j++){ if(it[j][0]!=1 or it[j][1]!=1){ it[j][2]=1; } } for(int j=5;j<m;j+=2){ for(int i=0;i<n;i++){ it[i][j]=1; // cout<<i<<","<<j<<endl; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(it[i][j]==1){ cout<<"-"; } else{ cout<<"+"; } } cout<<endl; } } } else if(n==5){ cout<<(m+3+(n-5)/2)<<endl; int it[n][m]; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ it[i][j]=0; } } for(int i=0;i<(m+2)/2;i++){ it[0][i]=1; } for(int i=m-(m+2)/2;i<m;i++){ it[1][i]=1; } for(int j=0;j<m;j++){ if(it[0][j]!=1 or it[1][j]!=1){ it[2][j]=1; } } for(int i=5;i<n;i+=2){ for(int j=0;j<m;j++){ it[i][j]=1; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(it[i][j]==1){ cout<<"+"; } else{ cout<<"-"; } } cout<<endl; } } else if(m==5){ cout<<(n+3)<<endl; int it[n][m]; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ it[i][j]=0; } } for(int i=0;i<(n+2)/2;i++){ it[i][0]=1; } for(int i=n-(n+2)/2;i<n;i++){ it[i][1]=1; } for(int j=0;j<n;j++){ if(it[j][0]!=1 or it[j][1]!=1){ it[j][2]=1; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(it[i][j]==1){ cout<<"-"; } else{ cout<<"+"; } } cout<<endl; } } /*int it[n][m]; if(n>m){ int l=0; for(int i=0;i<n;i++){ for(int j=l;j<l+(m+2)/2;j++){ it[i][j%m]=1; } l=l+(m+2)/2; l%=m; } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(it[i][j]){ cout<<"+"; } else{ cout<<"-"; } } cout<<endl; } } else{ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(i%2==0){ cout<<"-"; } else{ cout<<"+"; } } cout<<endl; } }*/ } 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...