QUADTREE 질문드립니다!

  • sgc109
    sgc109

    QUADTREE

    자꾸 컴파일 에러가 뜨는데 왜그러는지 모르겠습니다..

    에러코드를 보니 함수 호출부분에서 인자에 문제가 있는것 같은데
    호출부분 인자 str.begin() 을 string::iterator 타입으로 변환도
    해봤는데 똑같이 에러가뜨네요ㅠㅠ 뭐가문제일까요???

    #include<iostream>
    #include<vector>
    #include<cmath>
    #include<string>
    
    #define REP(i,a,b) for(int i =a; i < b ;i++) 
    #define REPR(i,a,b) for(int i=a-1; i >=b; i--)
    #define FOR(i,n) REP(i,0,n)
    #define FORR(i,n) REPR(i,n,0)
    #define max(a,b) (a>b)?a:b
    #define min(a,b) (a<b)?a:b
    
    using namespace std;
    
    string upside_down(string::iterator &it) {
        char chr = *(it++);
        if (chr == 'w' || chr == 'b') {
            return string(1,chr);
        }
        string leftover = upside_down(it);
        string rightover = upside_down(it);
        string leftbottom = upside_down(it);
        string rightbottom = upside_down(it);
    
        return "x" + leftbottom + rightbottom + leftover + rightover;
    }
    
    int main() {
        int C;
        cin >> C;
        while (C--) {
            string str;
            cin >> str;
            cout << upside_down(str.begin()) << endl;
        }
    
    
        return 0;
    }
    

    8년 전
1개의 댓글이 있습니다.
  • naka15
    naka15

    저도 초보라 잘은 모르겠는데 제 생각에는
    재귀함수인데 기저가 없네요
    it가 계속 증가하는데 끝을 가르킬 때 어떻게 처리할지 명시 안했기 때문에 에러가 뜨는 듯 합니다.


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.