zoukankan      html  css  js  c++  java
  • 洛谷P1928 外星密码 题解 后缀表达式

    题目链接:https://www.luogu.com.cn/problem/P1928

    后缀表达式模板题。

    示例程序:

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 20020;
    char s[maxn];
    int n;
    stack<int> stk_num;
    stack<string> stk_str;
    
    int main() {
        cin >> s;
        n = strlen(s);
        stk_num.push(1);
        stk_str.push("");
        for (int i = 0; i < n;) {
            if (s[i] == '[') {
                int num = s[i+1] - '0';
                if (i+2 < n && isdigit(s[i+2])) {
                    num = num * 10 + s[i+2] - '0';
                    i += 3;
                }
                else i += 2;
                stk_num.push(num);
                stk_str.push("");
            }
            else if (s[i] == ']') {
                int num = stk_num.top();
                stk_num.pop();
                string str = stk_str.top();
                stk_str.pop();
                string tmp = "";
                for (int i = 0; i < num; i ++) tmp += str;
                stk_str.top() += tmp;
                i ++;
            }
            else {
                stk_str.top() += s[i++];
            }
        }
        cout << stk_str.top() << endl;
        return 0;
    }
    
  • 相关阅读:
    mtu
    OC2_使用系统协议
    OC1_协议语句
    Json文件/网址解析
    文件归档
    Plist文件
    NS-Date/NSDateFormatter
    OC10_文件练习
    OC9_文件操作
    OC8_NSData
  • 原文地址:https://www.cnblogs.com/quanjun/p/15573756.html
Copyright © 2011-2022 走看看