[COCI2021-2022#2] Kaučuk 题解

· · 题解

分别用变量记录一下当前是第几个一级标题、第几个二级标题、第几个三级标题,然后每一次增加的时候,就要把比自己等级更小的标题的次数清零。

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int scnt = 0, subcnt = 0, ssubcnt = 0;
    for (int i = 0; i < n; i++) {
        string op, name;
        cin >> op >> name;
        if (op == "section") {
            // 一级标题,二级和三级就要清零
            subcnt = 0;
            ssubcnt = 0;
            cout << ++scnt << " " << name << endl;
        } else if (op == "subsection") {
            // 二级标题,三级就要清零
            ssubcnt = 0;
            cout << scnt << "." << ++subcnt << " " << name << endl;
        } else if (op == "subsubsection") {
            cout << scnt << "." << subcnt << "." << ++ssubcnt << " " << name << endl;
        }
    }
    return 0;
}