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; }