Submission #286875

#TimeUsernameProblemLanguageResultExecution timeMemory
286875dvdg6566Red-blue table (IZhO19_stones)C++14
26 / 100
35 ms8568 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pi; typedef vector<ll> vi; typedef vector<pi> vpi; #define pb emplace_back #define mp make_pair #define f first #define s second #define SZ(x) (int)x.size() #define ALL(x) x.begin(),x.end() #define lb lower_bound const int MAXN=1001; const ll MOD=998244353; ll A[MAXN][MAXN]; ll R,C,T; int eval(){ int ans=0; for(int i=0;i<R;++i){ int colp=0; for(int j=0;j<C;++j)if(A[i][j]==0)++colp; if(colp*2 > C)++ans; } for(int i=0;i<C;++i){ int colc=0; for(int j=0;j<R;++j)if(A[j][i])++colc; if(colc*2>R)++ans; } return ans; } int main(){ ios_base::sync_with_stdio(0);cin.tie(0); cin>>T; while(T--){ cin>>R>>C; for(int i=0;i<R;++i)for(int j=0;j<C;++j)A[i][j]=0; if(R==1){ cout<<C<<'\n'; for(int i=0;i<C;++i)cout<<'-';cout<<'\n'; continue; }else if(C==1){ cout<<R<<'\n'; for(int i=0;i<R;++i){cout<<'+';cout<<'\n';} continue; } if(R%2==1&&C%2==1){ cout<<R+C-2<<'\n'; for(int i=0;i<C;++i)cout<<'-';cout<<'\n'; int h=C/2; for(int i=1;i<R;++i){ if(i%2==1){ cout<<'+'; for(int k=0;k<h;++k)cout<<'+'; for(int k=0;k<h;++k)cout<<'-'; }else{ cout<<'+'; for(int k=0;k<h;++k)cout<<'-'; for(int k=0;k<h;++k)cout<<'+'; } cout<<'\n'; } }else if(R%2==0&&C%2==0){ int perow=(C-2)/2; int tar= R*((C/2)-1); tar /= (R/2+1); int cur=0; for(int i=0;i<R;++i){ for(int ww=0;ww<perow;++ww){ A[i][cur] = 1; ++cur; cur%=tar; } } // assert(eval()+4>=R+C); cout<<eval()<<'\n'; // break; for(int i=0;i<R;++i){ for(int j=0;j<C;++j){ if(A[i][j])cout<<'-'; else cout<<'+'; } cout<<'\n'; } } // return 0; } }

Compilation message (stderr)

stones.cpp: In function 'int main()':
stones.cpp:44:4: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   44 |    for(int i=0;i<C;++i)cout<<'-';cout<<'\n';
      |    ^~~
stones.cpp:44:34: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   44 |    for(int i=0;i<C;++i)cout<<'-';cout<<'\n';
      |                                  ^~~~
stones.cpp:54:4: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   54 |    for(int i=0;i<C;++i)cout<<'-';cout<<'\n';
      |    ^~~
stones.cpp:54:34: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   54 |    for(int i=0;i<C;++i)cout<<'-';cout<<'\n';
      |                                  ^~~~
#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...