CodeForces 190C STL
2024-10-08 21:32:32
Portal: http://codeforces.com/problemset/problem/190/C
一道卡输入输出的蛋疼题
题意:给你一个由pair和int所组成的沙茶字符串(最大含有1e5个单词),输出合法的pair序列
这道题可以拿栈做,也就是vector或stack
呵呵 (vector==stack)=1
Examples
Input
3
pair pair int int int
Output
pair<pair<int,int>,int>
#include<iostream>
#include<cstring>
#include<sstream>
#include<vector>
using namespace std;
#define FOR(i,j,k) for(int i=j;i<=k;i++)
#define FORD(i,j,k) for(int i=j;i>=k;i--)
#define maxn 100010
#define SZ(x) int(x.size())
int k;
int a[maxn];
pair<int,int> res[maxn];
vector<int> zz;
string s;
stringstream ss,ans;
void cq(int l)
{
if(a[l])
{
ans<<"pair<";
cq(res[l].first);
ans<<',';
cq(res[l].second);
ans<<'>';
}
else ans<<"int";
return;
}
int main()
{
getline(cin,s);
getline(cin,s);
ss<<s;
while(!ss.eof())
{
ss>>s;
a[++k]=(s=="pair");
}
FORD(i,k,)
{
if(a[i])
{
if(SZ(zz)<)
{
cout<<"Error occurred"<<endl;
return ;
}
res[i].first=zz.back();
zz.pop_back();
res[i].second=zz.back();
zz.pop_back();
}
zz.push_back(i);
}
if(SZ(zz)>) {
cout<<"Error occurred"<<endl;
return ;
}
cq();
cout<<ans.str();
return ;
}
无敌的sstream与蛋疼的getline
然后除了这个反人类的倒着处理我还写了个正着来的
#include<iostream>
#include<cstring>
#include<sstream>
using namespace std;
#define FOR(i,j,k) for(int i=j;i<=k;i++)
#define FORD(i,j,k) for(int i=j;i>=k;i--)
#define maxn 100010
#define SZ(x) int(x.size())
string s;
stringstream ss,ans;
bool cq()
{
if(ss.eof()) return false;
ss>>s;
if(s=="pair")
{
ans<<"pair<";
if(!cq()) return false;
ans<<',';
if(!cq()) return false;
ans<<'>';
}
else ans<<"int";
return true;
} int main()
{
getline(cin,s);
getline(cin,s);
ss<<s;
if(cq()&&ss.eof()) cout<<ans.str(); else cout<<"Error occurred"<<endl;
return ;
}
爽!
总之就是各种sstream大法好啦~
#include<sstream>
stringstream ss; ss<<s;
ss>>s;
ss.eof()
最新文章
- CSS笔记总结
- js计时器,点击开始计时,再点击停止
- Unity 3D 正交相机(Orthographic)
- Ajax提交与传统表单提交的区别说明
- CentOS 7 安装 Oracle 11g
- elasticsearch知识点
- javascript中&;&;和||的区别
- 如何将jsp中<;input>;设为只读
- ajax技术的基本概述
- 无缝滚动js (手写通俗易懂)
- 瑞柏匡丞谈中国移动app的国际进阶路
- springmvc+mybatis如何分层
- MongoDB时间处理问题
- ms10_046_shortcut_icon_dllloader漏洞利用和ettercap dns欺骗
- Memcached的配置,SSH项目中的整合(com.whalin),Memcached工具类,Memcached的代码调用
- Django-瀑布流
- 【LeetCode每天一题】Rotate List(旋转链表)
- android studio 模拟器无法联网的解决方法
- MySQL&#160;横向表分区之RANGE分区小结
- Windows驱动开发