deque真的秀,queue和stack。。。没啥用了啊。操作差不多,就是在前面加一个front||back_就行了。

题干:

题目描述

题目描述
    约翰的N只奶牛(编为1到N号)正在直线上排队.直线上开始的时候一只牛也没有.接下来发生了S(1≤S≤100000)次事件,一次事件可能是以下四种情况之一:
  .一只奶牛加入队伍的左边(输入“AL”).
  .一只奶牛加入队伍的右边(输入“AR”).
  ·K只队伍左边奶牛离开(输入“DLK”).
  ·K只队伍右边奶牛离开(输入“DRK”).
    请求出最后的队伍是什么样.
    数据保证离开的奶牛不会超过队伍里的奶牛数,最后的队伍不空

输入格式

    第1行输入S,之后S行每行描述一次事件,格式如题目描述所示

输出格式

 
    由左到右输出队伍最后的情况.

样例输入

  1. 10
  2. A L
  3. A L
  4. A R
  5. A L
  6. D R 2
  7. A R
  8. A R
  9. D L 1
  10. A L
  11. A R

样例输出

  1. 7
  2. 2
  3. 5
  4. 6
  5. 8

提示


题目来源

代码:

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<ctime>
  5. #include<queue>
  6. #include<algorithm>
  7. #include<deque>
  8. #include<cstring>
  9. using namespace std;
  10. #define duke(i,a,n) for(int i = a;i <= n;i++)
  11. #define lv(i,a,n) for(int i = a;i >= n;i--)
  12. #define clean(a) memset(a,0,sizeof(a))
  13. const int INF = 1e9 + ;
  14. typedef long long ll;
  15. typedef double db;
  16. template <class T>
  17. void read(T &x)
  18. {
  19. char c;
  20. bool op = ;
  21. while(c = getchar(), c < '' || c > '')
  22. if(c == '-') op = ;
  23. x = c - '';
  24. while(c = getchar(), c >= '' && c <= '')
  25. x = x * + c - '';
  26. if(op) x = -x;
  27. }
  28. template <class T>
  29. void write(T x)
  30. {
  31. if(x < ) putchar('-'), x = -x;
  32. if(x >= ) write(x / );
  33. putchar('' + x % );
  34. }
  35. deque <int> de;
  36. char s[];
  37. int num = ;
  38. int main()
  39. {
  40. int n;
  41. read(n);
  42. duke(i,,n)
  43. {
  44. scanf("%s",s);
  45. if(s[] == 'A')
  46. {
  47. scanf("%s",s);
  48. if(s[] == 'L')
  49. de.push_front(++num);
  50. else
  51. de.push_back(++num);
  52. }
  53. else
  54. {
  55. int x;
  56. scanf("%s",s);
  57. read(x);
  58. if(s[] == 'L')
  59. {
  60. while(x != )
  61. {
  62. // cout<<de.front()<<endl;
  63. de.pop_front();
  64. x--;
  65. }
  66. }
  67. else
  68. {
  69. while(x != )
  70. {
  71. // cout<<de.back()<<endl;
  72. de.pop_back();
  73. x--;
  74. }
  75. }
  76. }
  77. }
  78. while(!de.empty())
  79. {
  80. printf("%d\n",de.front());
  81. de.pop_front();
  82. }
  83. return ;
  84. }

B3403 [Usaco2009 Open]Cow Line 直线上的牛 deque的更多相关文章

  1. BZOJ 3403: [Usaco2009 Open]Cow Line 直线上的牛( deque )

    直接用STL的的deque就好了... ---------------------------------------------------------------------- #include& ...

  2. BZOJ3403: [Usaco2009 Open]Cow Line 直线上的牛

    3403: [Usaco2009 Open]Cow Line 直线上的牛 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 48  Solved: 41[S ...

  3. 3403: [Usaco2009 Open]Cow Line 直线上的牛

    3403: [Usaco2009 Open]Cow Line 直线上的牛 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 71  Solved: 62[S ...

  4. 【BZOJ】3403: [Usaco2009 Open]Cow Line 直线上的牛(模拟)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3404 裸的双端队列.. #include <cstdio> #include <c ...

  5. BZOJ 3403: [Usaco2009 Open]Cow Line 直线上的牛(模拟)

    直接双端队列模拟,完了= = CODE: #include<cstdio>#include<algorithm>#include<iostream>#include ...

  6. 149 Max Points on a Line 直线上最多的点数

    给定二维平面上有 n 个点,求最多有多少点在同一条直线上. 详见:https://leetcode.com/problems/max-points-on-a-line/description/ Jav ...

  7. [Swift]LeetCode149. 直线上最多的点数 | Max Points on a Line

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  8. LeetCode:149_Max Points on a line | 寻找一条直线上最多点的数量 | Hard

    题目:Max Points on a line Given n points on a 2D plane, find the maximum number of points that lie on ...

  9. lintcode 中等题:Max Points on a Line 最多有多少个点在一条直线上

    题目 最多有多少个点在一条直线上 给出二维平面上的n个点,求最多有多少点在同一条直线上. 样例 给出4个点:(1, 2), (3, 6), (0, 0), (1, 3). 一条直线上的点最多有3个. ...

随机推荐

  1. JS——思维拓展

    1.阶乘求和:4的阶乘是1*2*3*4 <script> function jiechen(value) { var n = 1; for (var i = 1; i <= valu ...

  2. [Windows Server 2012] MySQL安全加固

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:MySQL ...

  3. JAVA和JVM运行原理揭秘

    这里和大家简单分享一下JAVA和JVM运行的原理,Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器 ...

  4. (转)分布式文件存储FastDFS(二)FastDFS安装

    http://blog.csdn.net/xingjiarong/article/details/50559761 在前面的一篇中,我们分析了FastDFS的架构,知道了FastDFS是由客户端,跟踪 ...

  5. Django中图片的上传并显示

    一.settings配置文件中配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'medias').replace('\\', ...

  6. Vue动态创建组件方法

    组件写好之后有的时候需要动态创建组件.例如: 编辑文章页面,正文是一个富文本编辑器,富文本编辑器是一个第三方的组件,点击添加章节的时候需要动态的创建一个富文本编辑器这个时候怎么处理呢. 富文本编辑器也 ...

  7. SpringBoot启动报jdbc连接池错误

    如图,启动报连接池错误 项目中没有使用任何连接池,以为没用连接池的原因,所以配置了druid,一开始可以正常启动,但后来重启项目时仍旧报同样的错.网上找了资料,url中加useSSL=false,显式 ...

  8. wing ide破解

    LicenseID='CN123-12345-12345-67891' # RequestCode='RL634-8363J-X7E8K-95XD3' RequestCode = 'RW61C-NN6 ...

  9. numpy.tile()

    numpy.tile()是个什么函数呢,说白了,就是把数组沿各个方向复制 比如 a = np.array([0,1,2]),    np.tile(a,(2,1))就是把a先沿x轴(就这样称呼吧)复制 ...

  10. perf-perf stat用户层代码分析

    perf_event 源码分析 前言 简单来说,perf是一种性能监测工具,它首先对通用处理器提供的performance counter进行编程,设定计数器阈值和事件,然后性能计数器就会在设定事件发 ...