Submission #993082

#TimeUsernameProblemLanguageResultExecution timeMemory
993082n3rm1nRed-blue table (IZhO19_stones)C++17
17 / 100
17 ms1372 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, 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 << a[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; memset(res, 0, sizeof(res)); maxhappy = 0; // maxhappy = 0; // gen(1,1); if(n <= 5) { maxhappy = 0; for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) a[i][j] = 0; } check(); for (int i = 1; i <= n; ++ i) { memset(a, 0, sizeof(a)); for (int j = 1; j <= m; ++ j) { for (int ii = 1; ii <= i; ++ ii) a[ii][j] = 1; check(); } } } else if(m <= 5) { maxhappy = 0; for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) a[i][j] = 1; } check(); for (int i = 1; i <= n; ++ i) { memset(a, 1, sizeof(a)); for (int j = 1; j <= m; ++ j) { for (int ii = 1; ii <= i; ++ ii) a[ii][j] = 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...