uva的一题,输出部分难以解决



#define _CRT_SECURE_NO_WARNINGS
#include
#include 
#include
#include
#include
using namespace std;
int main(){
    list<char>tragedy(10000);
    char str = '0';
    int i = 0;
    list<char>::iterator it = tragedy.begin();
    while (scanf("%c",&str)==1)
    {
        if (str== ']') {
            it = tragedy.end();
            continue;
        }
        if (str == '[') {
            it = tragedy.begin();
            continue;
        }
            tragedy.insert(it, str);
            if (str == '\n')
            {
                for (it = tragedy.begin(); it != tragedy.end(); it++)
                    cout << *it;
                tragedy.erase(tragedy.begin(), tragedy.end());
            }
    }
    
    return 0;
}

题目如下:

img


输出部分没办法实现一行对应一行输出,有漏洞

每次输出结果后加上一句 cout << endl; 就能一行对应一行输出了。