Submission #1177138

#TimeUsernameProblemLanguageResultExecution timeMemory
1177138theagentbaraCrtanje (COCI20_crtanje)C++20
50 / 50
0 ms328 KiB
#include "bits/stdc++.h" using namespace std; #define int long long #define endl '\n' #define all(v) v.begin(), v.end() const long long sz = 2e5 + 5; const long long inf = 1e18; const long long mod = 1e9 + 9; bool isbound(int i, int j, int m, int n) { return i >= 0 and j >= 0 and i < m and j < n; } void solve() { int n; cin >> n; string s; cin >> s; int m = 0, mx = 0, mn = inf, cur = 0; for (int i = 0; i < n; i++) { cur += (s[i] == '+'); cur -= (s[i] == '-'); mx = max(mx, cur); mn = min(mn, cur); } m = mx - mn + 1; for (int k = 0; k < m; k++) { char a[m][n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { a[i][j] = '.'; } } bool ok = 1; int i = k; for (int j = 0; j < n; j++) { if (!isbound(i, j, m, n)) { ok = 0; break; } if (s[j] == '+') { a[i][j] = '/'; i--; } else if (s[j] == '-') { i++; a[i][j] = '\\'; } else { a[i][j] = '_'; } } if (ok) { for (int i = 0; i < m; i++) { if (count(a[i], a[i] + n, '.') == n) continue; for (int j = 0; j < n; j++) { cout << a[i][j]; } cout << endl; } return; } } } signed main() { cin.tie(nullptr)->sync_with_stdio(0); int T = 1; // cin >> T; while (T--) { solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...