Submission #683718

#TimeUsernameProblemLanguageResultExecution timeMemory
683718NintsiChkhaidzeRed-blue table (IZhO19_stones)C++14
27 / 100
24 ms2388 KiB
#include <bits/stdc++.h> #define ll long long #define s second #define pb push_back #define f first #define left (h<<1),l,((l+r)>>1) #define right ((h<<1)|1),((l+r)>>1) + 1,r #define pii pair<int,int> // #define int ll // ? using namespace std; const int N = 1005,mod = 1000000007; // ? int a[N][N],y[N],x[N],f[N],b[N][N]; int ans,n,m; void solve(){ // if (m >= n){ for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) a[i][j] = 0; //column-ebs ar vapucheb int ans1 = m; int k = m/2 + 1; for (int j = 1; j <= m; j++) y[j] = n - n/2 - 1; for (int i = 1; i <= n; i++){ int cnt = 0; for (int j = 1; j <= m; j++) f[j] = 0; for (int j = 1; j <= m; j++){ if (y[j]) { --y[j]; f[j] = 1; cnt++; } if (cnt == k) { ++ans1; break; } } if (cnt < k) break; for (int j = 1; j <= m; j++) if (f[j]) a[i][j] = 1; } // } //n > m //row-ebs ar vapucheb for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) b[i][j] = 1; int ans2 = n; k = n/2 + 1; for (int i = 1; i <= n; i++) x[i] = m - m/2 - 1; for (int j = 1; j <= m; j++){ int cnt=0; for (int i = 1; i <= n; i++) f[i] = 0; for (int i = 1; i <= n; i++){ if (x[i]){ --x[i]; f[i] = 1; ++cnt; } if (cnt == k) { ++ans2; break; } } if (cnt < k) break; for (int i = 1; i <= n; i++){ if (f[i]) b[i][j] = 0; } } if (ans2 > ans1){ for (int i = 1; i <= n; i++) for (int j =1; j <= m; j++) a[i][j] = b[i][j]; ans = ans2; }else{ ans = ans1; } } signed main (){ ios_base::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL); int T; cin>>T; while (T--){ cin>>n>>m; solve(); cout<<ans<<endl; for (int i = 1; i <= n; i++){ for (int j = 1; j <= m; j++){ if (a[i][j]) cout<<"+"; else 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...