Submission #498719

#TimeUsernameProblemLanguageResultExecution timeMemory
498719NachoLibreRed-blue table (IZhO19_stones)C++17
38 / 100
34 ms1868 KiB
#include <bits/stdc++.h> #define ll long long #define ld long double #define sz(x) ((int)(x).size()) #define all(x) (x).begin(), (x).end() using namespace std; void print(vector<vector<char> > &c, bool sw) { if(sw) { for(int j = 0; j < sz(c[0]); ++j) { for(int i = sz(c) - 1; i >= 0; --i) { cout << char('+' ^ '-' ^ c[i][j]); } cout << "\n"; } return; } for(int i = 0; i < sz(c); ++i) { for(int j = 0; j < sz(c[0]); ++j) { cout << c[i][j]; } cout << "\n"; } } int main() { ios::sync_with_stdio(0); cin.tie(0); int t; cin >> t; for(int ti = 1; ti <= t; ++ti) { int n, m; cin >> n >> m; bool sw = 0; if(n > m) { swap(n, m); sw = 1; } int x[2] = {n / 2 + 1, (n + 1) / 2 - 1}; int y[2] = {m / 2 + 1, (m + 1) / 2 - 1}; vector<vector<char> > c(n, vector<char>(m, '+')); for(int i = 0; i < x[0]; ++i) { for(int j = 0; j < y[1]; ++j) { c[i][j] = '-'; } } for(int i = 0; i < x[1]; ++i) { for(int j = y[1]; j < m; ++j) { c[i][j] = '+'; } } for(int i = x[0]; i < n; ++i) { for(int j = 0; j < y[0]; ++j) { c[i][j] = '+'; } } for(int i = x[1]; i < n; ++i) { for(int j = y[0]; j < m; ++j) { c[i][j] = '-'; } } int fp1 = x[1] + y[1] << 1; if(m + x[1] > fp1) { cout << m + x[1] << "\n"; c = vector<vector<char>>(n, vector<char>(m, '-')); for(int i = 0; i < x[1]; ++i) { for(int j = 0; j < m; ++j) { c[i][j] = '+'; } } print(c, sw); continue; } cout << fp1 << "\n"; print(c, sw); } return 0; }

Compilation message (stderr)

stones.cpp: In function 'int main()':
stones.cpp:60:18: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
   60 |   int fp1 = x[1] + y[1] << 1;
      |             ~~~~~^~~~~~
#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...