답안 #908913

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
908913 2024-01-17T01:51:20 Z Sandarach151 Crtanje (COCI20_crtanje) C++17
50 / 50
1 ms 348 KB
#include <iostream>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin >> n;
    string s;
    cin >> s;
    int cur = 0;
    int minn = INT16_MAX;
    int maxx = INT16_MIN;
    for(int i=0; i<n; i++){
        if(s[i]=='+'){
            maxx = max(maxx, cur);
            minn = min(minn, cur);
            cur++;
        }
        else if(s[i]=='-'){
            cur--;
            minn = min(minn, cur);
            maxx = max(maxx, cur);
        }
        else{
            minn = min(minn, cur);
            maxx = max(maxx, cur);
        }
    }
    char arr[maxx-minn+1][n];
    for(int i=0; i<maxx-minn+1; i++){
        for(int j=0; j<n; j++){
            arr[i][j]='.';
        }
    }
    cur = 0;
    for(int i=0; i<n; i++){
        if(s[i]=='+'){
            arr[cur-minn][i]='/';
            cur++;
        }
        else if(s[i]=='-'){
            cur--;
            arr[cur-minn][i]='\\';
        }
        else{
            arr[cur-minn][i]='_';
        }
    }
    for(int i=maxx-minn; i>=0; i--){
        for(int j=0; j<n; j++){
            cout << arr[i][j];
        }
        cout << '\n';
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 344 KB Output is correct