CF190C STL 题解

* 题意 :

给出只会出现 pair 和 int 的字符串 , 要求按照给出 pair 和 int 的顺序 , 添加 ' < '   ,   ' > '  ,  ' , ' 这三个符号 , 使得给出的串成为一个合法的类型 。

 *思路 :
- 根据题意 , 可能输入带有 pair  , 所以本题采用递归求解 。

- 输出 Error  occurred 的情况只为多输入或少输入 。

 *CODE :


#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
bool pd=1;           //用来判断是否出现不合法现象
string a,sum;         //a为每次输入的字符串,sum为总答案

void sd() {
    if(cin>>a) {
        if(a=="pair") {
            sum+="pair<",sd(),sum+=",",sd(),sum+=">";
        } else if(a=="int") {
            sum+="int";
        }
    } else             //如果少输入了,判断为否;
        pd=0;
}

int main() {
    cin>>a;
    sd();
    if(pd==0) {
        cout<<"Error occurred";
    } else {
        if (cin>>a)
            cout<<"Error occurred";
        else
            cout<<sum;
    }
    return 0;
}

上一篇:


下一篇:学习笔记 --《Effective STL 50条有效使用STL的经验》