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. Android Base64图片无法长按保存 问题解决

    踩了一个巨坑. 目前微信ios/android 均能长按保存src=base64的图片  (微信android x5 专门解决了这个问题); 但是android其他App没有针对解决这个系统问题(姑且 ...

  2. Yuchuan_linux_C 编程之八 文件操作相关函数

    一.整体大纲 st_mode整体介绍: st_mode详细介绍: 二. Linux文件操作相关函数 1. stat 作用:获得文件信息,也可以获取文件大小. 头文件 #include <sys/ ...

  3. seo搜索优化教程14-seo搜索优化实战

    为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉信息科技强势推出seo搜索优化教程.此为seo教程第14课 根据前面学习的seo搜索优化内容,星辉科技进行总结性的分析,形成一份标准的se ...

  4. 通过mockjs来制作假数据

    需用用到的模块为express和mockjs //导入模块开启服务器模块 const express=require('express') //导入假数据模块 const mockjs=require ...

  5. vue的watch

    watch它可以用来监测Vue实例上的数据变动  尽量一张图解释清楚(尝试用圈圈区分关系): 写的很简单,watch本来就没啥东西我理解为响应式侦听全局变量 watch里绑定全局变量,被绑定全局变量发 ...

  6. python学习的新篇章--面向对象

    面向对象的学习笔记   关键要素: 类:class 用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法.   数据成员: 类的不同属性数据   对象: 类的一个实例 ...

  7. Intel优化Gen7驱动代码 Geekbench 5性能猛增

    Linux下缺少大量开发.支持是会导致各种奇葩的错误的,Intel日前就提交了一个代码修复,22nm Ivybridge及Haswell处理器的GeekBench 5的性能就提升了330%. 3.3倍 ...

  8. 推荐一个学习python非常好的网站

    推荐一个入门python非常好的网站(也可以学习JAVA)非常适合入门,不说多易于理解,也是比较亲民的0基础学习教程,还免费…… 网址:https://www.liaoxuefeng.com/(廖雪峰 ...

  9. nuxt创建项目的步骤

    nuxt创建项目的步骤 1.基本步骤 // 创建package.json依赖管理文件 npm init -y // 在package.json文件中添加运行nuxt的命令,之后npm run dev启 ...

  10. centOS6.5桌面版用不了中文输入法解决方案

    1:centos6.5中   系统->首选项->输入法中选择“使用iBus(推荐)”,点击首选输入法n遍,没有任何效果. 2.我也弄了很多种方式包括用 yum install " ...