Submission #672223

#TimeUsernameProblemLanguageResultExecution timeMemory
672223YENGOYANRed-blue table (IZhO19_stones)C++17
11 / 100
61 ms3536 KiB
#include <bits/stdc++.h> using namespace std; int calc(vector<string> &v, int n, int m){ int cnt = 0; for(int i = 0; i < n; i++){ int a = 0, b= 0 ; for(int j = 0; j < m; j++){ if(v[i][j] == '+') a++; else b++; } cnt += (a > b); } for(int j = 0; j < m; j++){ int a = 0, b = 0; for(int i = 0; i < n; i++){ if(v[i][j] == '-') a++; else b++; } cnt += (a > b); } return cnt; } void printVec(vector<string> &v, int n, int m){ for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cout << v[i][j]; } cout << endl; } } vector<string> rev(vector<string> v, int n, int m){ vector<string> a(m); for(int i = 0; i < n; ++i){ for(int j = m - 1; j >= 0; --j){ if(v[i][j] == '+') a[m - j - 1].push_back('-'); else a[m - j - 1].push_back('+'); } } return a; } void solve(){ int n, m; cin >> n >> m; bool r = 0; if(n > m){ swap(n, m); r = 1; } vector<string> v(n); string s(m, '-'); v[0] = s; string a(m / 2 + 1, '+'), b(m - (m / 2 + 1), '-'); for(int i = 1; i < n; i++){ if(i % 2) v[i] = a + b; else v[i] = b + a; } if(r){ v = rev(v, n, m); swap(n, m); } cout << calc(v, n, m) << endl; // if(!r) printVec(v, n, m); printVec(v, n, m); } int main(){ int t; cin >> t; while(t--) solve(); }
#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...