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()

CodeForces 190C STL的更多相关文章

  1. 【codeforces 190C】STL

    [题目链接]:http://codeforces.com/problemset/problem/190/C [题意] 让你根据去掉标点符号的; pair 以及 int这两种类型; 确定出一种类型; 使 ...

  2. Codeforces 997D(STL+排序)

    D. Divide by three, multiply by two time limit per test 1 second memory limit per test 256 megabytes ...

  3. Codeforces 979D (STL set)(不用Trie简单AC)

    题面: 传送门 题目大意: 给定一个空集合,有两种操作: 一种是往集合中插入一个元素x,一种是给三个数x,k,s,问集合中是否存在v,使得gcd(x,v)%k==0,且x+v<=s若存在多个满足 ...

  4. Codeforces 190C(模拟)

    坑点 不记它难解我心头之恨-- WA1:不要读错题Orz,顺序是按它给定的.那就是个类似栈的东西,重点在于输出. 然而我输出很快就模拟对了-- WA2:数据:1 int.我日了不看数据我真的去de模拟 ...

  5. Codeforces Round #285 (Div. 2) A B C 模拟 stl 拓扑排序

    A. Contest time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  6. 【中途相遇法】【STL】BAPC2014 K Key to Knowledge (Codeforces GYM 100526)

    题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...

  7. 【STL】【模拟】Codeforces 696A Lorenzo Von Matterhorn

    题目链接: http://codeforces.com/problemset/problem/696/A 题目大意: 一个满二叉树,深度无限,节点顺序编号,k的儿子是k+k和k+k+1,一开始树上的边 ...

  8. Codeforces 701C They Are Everywhere(Two pointers+STL)

    [题目链接] http://codeforces.com/problemset/problem/701/C [题目大意] 给出 一个字符串,里面包含一定种类的字符,求出一个最短的子串,使得其包含该字符 ...

  9. Codeforces 799B - T-shirt buying(STL)

    题目链接:http://codeforces.com/problemset/problem/799/B 题目大意:有n件T恤,每件T体恤都分别有价格(每件衣服的价格不重复).前面的颜色.背部的颜色三种 ...

随机推荐

  1. HTML、CSS笔记

    盒模型 在CSS中,使用标准盒模型描述这些矩形盒子中的每一个.这个模型描述了元素所占空间的内容.每个盒子有四个边:外边距边, 边框边, 内填充边 与 内容边. 在标准模式下,一个块的总宽度= widt ...

  2. Python 第一天学习记录

  3. elasticsearch 单机安装

    一.elasticsearch下载 1.elastic 官网:https://www.elastic.co/cn/ 2.elasticsearch 下载地址:https://www.elastic.c ...

  4. seo搜索优化教程13-SEO搜索引擎站点收录

    为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第13课 想要用户能够在搜索引擎中通过关键词搜索到您的页面信息,首先要做的是让搜索引擎收录您 ...

  5. TEA5676 + AT24C08 FM收音机 搜台 存台 mmap 实现读写

    硬件说明TEA5767 + AT24c08 要使用耳机收听,不加功放芯片,声音非常小. 这2个芯片都支持 3.3 或 5.0 电源支持连线比较简单,sda scl 接到 2440 对应的 排针上,找出 ...

  6. Protocol buffers编写风格指南

    原文链接:https://developers.google.com/protocol-buffers/docs/style Style Guide 本文说明了.proto文件的编写风格指南.遵循这些 ...

  7. vue2.0:项目开始,首页入门(main.js,App.vue,importfrom)

    对main.js App.vue 等进行操作: 但是这就出现了一个问题:什么是main.js,他主要干什么用的?App.vue又是干什么用的?main.js 里面的import from又在干嘛?ne ...

  8. vscode 新版设置备份20200221 settings.json

    vscode 新版设置备份20200221 { "sync.gist": "9e6a5f7e8c52047b03c8732ff88aab0e", "s ...

  9. BAPC K题 Keep Him Inside

    Problem Statement: As a result of a long-standing war between the Sorcerers and the Orcs, you have b ...

  10. CodeMixer工具,完美替代ChaosTool,iOS添加垃圾代码工具,代码混淆工具,代码生成器,史上最好用的垃圾代码添加工具,自己开发的小工具

    新工具 ProjectTool 已上线 这是一款快速写白包工具,秒级别写H5游戏壳包,可视化操作,极易使用,支持Swift.Objecive-C双语言 扣扣交流群:811715780 进入 Proje ...