传送门
// 按照题意模拟就是了.
说几个坑点.
1: 每一行的末尾不能有空格
2: hr之前的换行要特别注意什么情况, 比如开头就是hr 不换行等.
3: 每次输出word时注意长度大于80了, 算长度是注意加上空格的长度.
4: 最后还要出一个空行.
像这类模拟题, 用string是最方便的, 即读一个输出一个. 记住了!!!
AC Code
string hr = "--------------------------------------------------------------------------------";
void solve()
{
string s, tmp;
int flag = 0, cnt = 0, fi = 1;
while(cin >> s) {
if (s == "<br>") {
cout << endl;
flag = 0;
fi = 1;
cnt = 0;
}
else if (s == "<hr>") {
if (flag) cout << endl;
cout << hr << endl;
flag = 0;
fi = 1;
cnt = 0;
}
else {
flag = 1;
if (cnt + 1 + s.size() > 80) {
cout << endl;
cnt = 0;
fi = 1;
}
cnt += s.size();
if (fi) {
cout << s;
fi = 0;
}
else {
cout << ' ' << s ;
cnt++;
}
}
}
cout << endl;
}