博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SGU 191.Exhibition(模拟)
阅读量:5876 次
发布时间:2019-06-19

本文共 1129 字,大约阅读时间需要 3 分钟。

时间限制:0.25s

空间限制:4M

题意:

       有两个公司A、B,他们要展览物品,但是A公司的展柜要放B公司的物品,B公司的展柜要放A公司物品。最开始只有一个空柜台,从指定的一个公司开始,轮流进行操作,可选的操作有两个:①选一个自己公司的空展柜放上对方公司的物品         ②选一个自己公司的空展柜,在这个展柜左边插入一个对方公司的空展柜,再在这个新插入的展柜左边插入一个空展柜并放上自己公司的物品。

题中给出了一个最终物品摆放的序列,问最后物品摆放的序列能否和给定序列相同。

 

 

 

 


 

Solution:

               对任意一个空展台的操作是影响不了前面的已经放置好了的展台的,所有,只要从左往右依次判断能否放,并用栈模拟操作就好了。

 

 

code

 

#include 
#include
#include
#include
using namespace std;string s, c;stack
tem;int main() { ios::sync_with_stdio (0); cin >> c >> s; int init = (c[0] == 'B'); int now, i, t = 1; tem.push (init); for (i = 0; i < s.size(); i++) { if (!tem.empty() ) now = tem.top(); else break; if (s[i] == 'A') { if (now == 1) tem.pop(), --t; else tem.push (now ^ 1), ++t; } else if (s[i] == 'B') { if (now == 0) tem.pop(), --t; else tem.push (now ^ 1), ++t; } } if (i == s.size() && t == 0) puts ("YES"); else puts ("NO");}
View Code

 

转载于:https://www.cnblogs.com/keam37/p/4022982.html

你可能感兴趣的文章
对象并不一定都是在堆上分配内存的
查看>>
刘宇凡:罗永浩的锤子情怀只能拿去喂狗
查看>>
PHP学习笔记 第十讲 MYSQL在PHP5中的应用
查看>>
php晚了8小时 PHP5中的时间相差8小时的解决办法
查看>>
JS(JavaScript)的初了解7(更新中···)
查看>>
svn文件管理器的使用
查看>>
Ansible playbook 使用
查看>>
for/foreach/linq执行效率测试
查看>>
js /jquery停止事件冒泡和阻止浏览器默认事件
查看>>
杭电1698--Just a Hook(线段树, 区间更新)
查看>>
长春理工大学第十四届程序设计竞赛(重现赛)I.Fate Grand Order
查看>>
好作品地址
查看>>
[翻译]Protocol Buffer 基础: C++
查看>>
runloop与线程的关系
查看>>
[Bzoj2246]迷宫探险(概率+DP)
查看>>
[译] 感受 4px 基线网格带来的便利
查看>>
oracle常用函数
查看>>
MYBATIS
查看>>
详解消息队列的设计与使用
查看>>
iOS 项目优化
查看>>