PREFIX 런타임에러 도와주세요

  • wjdclgns12
    wjdclgns12

    PREFIX

    소스를 제출하면 자꾸 런타임 에러가 납니다..
    최소 크기의 예제와 최대크기의 예제까지 넣어봤지만 정답이 나오고별다른 이상은 없었는데,
    어느 부분에서 런타임 에러가 나는지 잘 모르겠습니다.
    도와주세요!

    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    using namespace std;
    bool func(string s1, string s2)
    {
        if (s1.length() != s2.length()) return s1.length() < s2.length();
        else return s1 < s2;
    }
    vector <string> word;
    vector <string> result;
    int main()
    {
        int loop;
        cin >> loop;
        for (int l = 0; l < loop; l++)
        {
            word.clear();
            result.clear();
            int n, m;
            cin >> n >> m;
            for (int i = 0; i < n; i++)
            {
                string temp;
                cin >> temp;
                for (int j = 0; j < temp.length(); j++)
                {
                    word.push_back(temp.substr(0, j + 1));
                }
            }
            sort(word.begin(), word.end(), func);
            int len = 0;
            for (int i = 0; i < (int)word.size(); i++)
            {
                int maxnum = 0;
                int count = 1;
                result.push_back(word[i]);
                while (true)
                {
                    if (i >= (int)word.size() - 1)
                        break;
                    if (word[i].length() != word[i + 1].length())
                        break;
                    if (word[i] == word[i + 1])
                        count++;
                    else
                        count = 1;
                    if (count > maxnum)
                    {
                        maxnum = count;
                        result.pop_back();
                        result.push_back(word[i]);
                    }
                    i++;
                }
                len++;
            }
            for (int i = 0; i < len; i++)
                cout << result[i] << endl;
        }
    }
    

    가능한 모든 경우를 word에 저장한후
    각 길이 별로 가장 많으면서 사전순으로 앞서는 단어를 result에 저장한후 출력하는 코드입니다.


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