Submission #677248

#TimeUsernameProblemLanguageResultExecution timeMemory
677248AriadnaCrtanje (COCI20_crtanje)C++14
20 / 50
1 ms212 KiB

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector < pair < int, int > > worth(n + 1, {0, 0});
    int maximum = 0, minimum = 0;
    for (int i = 1; i <= n; ++i) {
        char c; 
        cin >> c;
        if (c == '+') {
            worth[i] = make_pair(worth[i - 1].first + 1, 1);
        } else if (c == '-') {
            worth[i] = make_pair(worth[i - 1].first - 1, -1);
        } else {
            worth[i] = make_pair(worth[i - 1].first, 0);
        }
        maximum = max(maximum, worth[i].first);
        minimum = min(minimum, worth[i].first);
    }
    
    int h = maximum - minimum;
    for (int i = 0; i < h; ++i) {
        int p = maximum - i;
        for (int j = 1; j <= n; ++j) {
            // posición actual = maximum - i
            int a = worth[j].second;
            if (a == 1) { // +
                if (p == worth[j].first)
                    cout << '/';
                else cout << '.';
            } else if (a == 0) { // =
                if (worth[j - 1].second == 1) {
                    if (p == worth[j].first + 1) {
                        cout << '-';
                        ++worth[j].first; 
                    } else cout << '.';
                } else if (worth[j - 1].second == -1) {
                    if (p == worth[j].first + 1) {
                        cout << '-';
                        ++worth[j].first; 
                    } else cout << '.';
                } else {
                    if (p == worth[j - 1].first)
                        cout << '-';
                    else
                        cout << '.';
                }
            } else { // -
                if (p == worth[j].first + 1)
                    cout << '\\';
                else cout << '.';
            }
        }
        cout << '\n';
    }
    
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...