Submission #334525

#TimeUsernameProblemLanguageResultExecution timeMemory
334525GurbanRed-blue table (IZhO19_stones)C++17
11 / 100
44 ms3180 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int maxn=1e3+5; int tt; int n,m,jog,st,num,num1,nw,nw1; char c[maxn][maxn],p[maxn][maxn]; int cnt(){ int jg = 0; for(int i = 1;i <= n;i++){ int b = 0,w=0; for(int j = 1;j <= m;j++){ if(c[i][j]=='+') w++; else b++; } if(w > b) jg++; } for(int i = 1;i <= m;i++){ int b =0,w=0; for(int j = 1;j <= n;j++){ if(c[j][i]=='-') b++; else w++; } if(b > w) jg++; } return jg; } void f(){ for(int i = 1;i <= n;i++) for(int j = 1;j <= m;j++) c[i][j]='+'; for(int i = m;i > num1;i--) for(int j = 1;j <= nw1;j++) c[j][i]='-'; st = 1; if(m % 2 == 0) st=2; for(int i = num1;i > st;i--) for(int j = n;j > nw1;j--) c[j][i]='-'; for(int i = 1;i <= m;i++) c[nw1][i]='-'; int ps = cnt(); jog = n + num; if(ps > jog) return; for(int i = 1;i <= n;i++){ for(int j = 1;j <= num1;j++) c[i][j] = '+'; for(int j = num1+1;j <= m;j++) c[i][j] = '-'; } } void f1(){ for(int i = 1;i <= n;i++) for(int j = 1;j <= m;j++) c[i][j]='-'; for(int i = 1;i < num1;i++) for(int j = nw1+1;j <= n;j++) c[j][i]='+'; st = 1; if(n % 2 == 0) st = 2; for(int i = num1+1;i <= m;i++) for(int j = nw1;j > st;j--) c[j][i]='+'; for(int i = 1;i <= n;i++) c[num1][i] = '+'; int ps = cnt(); jog = m + nw; if(ps > jog) return; for(int i = 1;i <= m;i++){ for(int j = 1;j <= nw1;j++) c[j][i]='-'; for(int j=nw1+1;j <= n;j++) c[j][i]='-'; } } int main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> tt; while(tt--){ cin >> n >> m; num = (m - 1)/2,num1 = m-num; nw = (n - 1) / 2,nw1 = n - nw; f(); for(int i = 1;i <= n;i++) for(int j = 1;j <= m;j++) p[i][j]=c[i][j]; int rnow = cnt(); f1(); if(rnow > cnt()){ cout<<rnow<<'\n'; for(int i = 1;i <= n;i++){ for(int j = 1;j <= m;j++) cout<<p[i][j]; cout<<'\n'; } } else { cout<<cnt()<<'\n'; for(int i = 1;i <= n;i++){ for(int j = 1;j <= m;j++) cout<<c[i][j]; 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...