cf1523C. Compression and Expansion
生活随笔
收集整理的這篇文章主要介紹了
cf1523C. Compression and Expansion
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cf1523C. Compression and Expansion
題意:
讓你模擬出一個書的目錄,對于每一行給你一個數字,表示這個目錄的最后一個數,
題解:
我們用vector存當前的目錄情況,讀到下一行,在盡量少刪上一行的基礎上,加入當前數字。而遇到1就以為這我們要單開一頁(相當于目錄層數增加)。然后直接模擬過程即可
代碼:
#include <bits/stdc++.h> #define rep(i, n) for (int i= 1; i <= (n); ++i) using namespace std; typedef long long ll; int main() {int t;cin >> t;while (t--) {vector<int> v;int n;scanf("%d", &n);rep(i, n){int x;scanf("%d", &x);if (x > 1) {while (!v.empty() && v.back() + 1 != x)v.pop_back();v.pop_back();}v.push_back(x);rep(i, v.size()){if (i > 1)putchar('.');printf("%d", v[i - 1]);}puts("");}}return 0; }總結
以上是生活随笔為你收集整理的cf1523C. Compression and Expansion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C语言进阶】最常用的库函数大全——从入
- 下一篇: 2021牛客暑期多校训练营9