Submission #332144

#TimeUsernameProblemLanguageResultExecution timeMemory
332144DanerZeinCrtanje (COCI20_crtanje)C++14
20 / 50
2 ms492 KiB
#include <bits/stdc++.h>
using namespace std;
char res[110][110];
int main(){
  int n;
  cin>>n;
  string x;
  int h=0;
  int ma=0;
  int mh=0;
  vector<int> sg,s;
  cin>>x;
  for(int i=0;i<n;i++){
    if(x[i]=='+'){
      sg.push_back(i);
      s.push_back(1);
      h++;
    }
     if(x[i]=='.'){
      h--;
      sg.push_back(i);
      s.push_back(0);
    }
    ma=min(ma,h);
    mh=max(mh,h);
  }
  h=max(0,abs(mh)-1);
  memset(res,'.',sizeof res);
  int j=0;
  s.push_back(-1);
  
  for(int i=0;i<n;i++){
    if(sg[j]<=i){
      j++;
    }
    if(x[i]=='+'){
      res[h][i]='/';
      if(s[j]==1) h--;
    }
    if(x[i]=='.'){
      res[h][i]='\\';
      if(s[j]==0) h++;
    }
    if(x[i]=='='){
      res[h][i]='_';
    }
  }
  for(int i=0;i<abs(ma)+mh;i++){
    for(int j=0;j<n;j++){
      cout<<res[i][j];
    }
    cout<<endl;
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...