Submission #993011

#TimeUsernameProblemLanguageResultExecution timeMemory
993011n3rm1nRed-blue table (IZhO19_stones)C++17
17 / 100
17 ms1624 KiB
#include<bits/stdc++.h> #define endl '\n' #define ll long long using namespace std; const int MAXN = 55; void speed() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); } int n, m; /// 1 - red /// 0 - blue int a[MAXN][MAXN]; int maxhappy = 0, res[MAXN][MAXN]; void check() { int happy = 0; for (int i = 1; i <= n; ++ i) { int cnt_red = 0; for (int j = 1; j <= m; ++ j) cnt_red += a[i][j]; if(cnt_red > m - cnt_red) happy ++; } for (int j = 1; j <= m; ++ j) { int cnt_blue = 0; for (int i = 1; i <= n; ++ i) cnt_blue += 1 - a[i][j]; if(cnt_blue > n - cnt_blue) happy ++; } if(happy > maxhappy) { maxhappy = happy; // cout << "opa update" << endl; for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) res[i][j] = a[i][j]; } } /** else if(happy == maxhappy) { cout << endl; for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) cout << res[i][j]; cout << endl; } }*/ } void gen(int r, int c) { if(c == m+1) { c = 1; r ++; } if(r == n+1) { check(); return; } a[r][c] = 1; gen(r, c+1); a[r][c] = 0; gen(r, c+1); } void solve_test() { cin >> n >> m; if(n <= 4 && m <= 4) { maxhappy = 0; gen(1,1); } else if(n <= 3) { memset(a, 0, sizeof(a)); check(); for (int i = m; i >= 1; -- i) { a[3][i] = 1; check(); } } else if(m == 3) { for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) a[i][j] = 1; } check(); for (int j = 1; j <= n; ++ j) { a[j][m] = 0; check(); } } cout << maxhappy << endl; for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) { if(res[i][j])cout << '+'; else cout << '-'; } cout << endl; } } int main() { speed(); int t; cin >> t; while(t --) { solve_test(); } 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...