답안 #332146

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
332146 2020-12-01T14:42:35 Z DanerZein Crtanje (COCI20_crtanje) C++14
30 / 50
1 ms 384 KB
#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);
  if(sg.size()==0){
    for(int i=0;i<n;i++) cout<<"_";
    cout<<endl;
    return 0;
  }
  for(int i=0;i<n;i++){
    if(j!=sg.size() && 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;
  }
}

Compilation message

crtanje.cpp: In function 'int main()':
crtanje.cpp:37:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     if(j!=sg.size() && sg[j]<=i){
      |        ~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Incorrect 1 ms 364 KB Output isn't correct
4 Incorrect 1 ms 364 KB Output isn't correct
5 Correct 1 ms 364 KB Output is correct