2014ACM集训13级PK赛4-A Stack or A Queue?
来源:互联网 发布:君君的淘宝店 编辑:程序博客网 时间:2024/06/07 19:13
Description
Do you know stack and queue? They're both important data structures. A stack is a "first in last out" (FILO) data structure and a queue is a "first in first out" (FIFO) one.
Here comes the problem: given the order of some integers (it is assumed that the stack and queue are both for integers) going into the structure and coming out of it, please guess what kind of data structure it could be - stack or queue?
Notice that here we assume that none of the integers are popped out before all the integers are pushed into the structure.
Input
There are multiple test cases. The first line of input contains an integer T (T <= 100), indicating the number of test cases. Then T test cases follow.
Each test case contains 3 lines: The first line of each test case contains only one integerN indicating the number of integers (1 <= N <= 100). The second line of each test case containsN integers separated by a space, which are given in the order of going into the structure (that is, the first one is the earliest going in). The third line of each test case also containsN integers separated by a space, whick are given in the order of coming out of the structure (the first one is the earliest coming out).
Output
For each test case, output your guess in a single line. If the structure can only be a stack, output "stack"; or if the structure can only be a queue, output "queue"; otherwise if the structure can be either a stack or a queue, output "both", or else otherwise output "neither".
Sample Input
431 2 33 2 131 2 31 2 331 2 11 2 131 2 32 3 1
Sample Output
stack
queue
both
neither
分别输入数据的输入和输出顺序,来判断是栈(先进后出),还是队列(先进先出)。
#include <string.h>#include <stdio.h>#include <stdlib.h>int a[1000];int main(){ int N; scanf ("%d",&N); while (N--) { int zhan = 1,dui = 1; int n,i; scanf ("%d",&n); for (i = 0; i < n; i++) scanf ("%d",&a[i]); for (i = 0;i < n;i++) { int tmp; scanf ("%d",&tmp); if(tmp != a[n - i - 1]) { zhan = 0; } if(tmp != a[i]) { dui = 0; } } if (zhan) { if (dui) puts ("both"); else puts ("stack"); }else { if (dui) puts ("queue"); else puts ("neither"); } } return 0;}
- 2014ACM集训13级PK赛4-A Stack or A Queue?
- A Stack or A Queue?
- A Stack or A Queue?
- A Stack or A Queue?
- A Stack or A Queue?
- A Stack or A Queue?
- A Stack or A Queue?
- 2014ACM集训13级PK赛4-K-Nice
- 2014ACM集训13级PK赛4-Light Bulb
- 省赛热身赛之A Stack or A Queue?
- ZOJ 3210 A Stack or A Queue
- zoj 3210 A Stack or A Queue?
- A Stack or A Queue?(zoj 3210)
- ZOJ 3210 A Stack or A Queue?
- D - A Stack or A Queue?
- ZOJ 3210 A Stack or A Queue?
- ZOJ 3210 A Stack or A Queue?
- zoj3210 A Stack or A Queue?
- 产品经理 深入浅出(2)
- 1021. Deepest Root【待修正】
- 3322,花生壳,nat123,dnspod综合分析对比了解各发布网站访问内网平台
- c#图片自动播放程序
- ★51单片机学习笔记(一)_总记
- 2014ACM集训13级PK赛4-A Stack or A Queue?
- linux进程同步机制
- Cordova实现activity与html之间相互跳转
- 依赖注入详解
- 25岁要做的事情
- 基于mini2440的SD卡MP3播放器的设计
- hdu 4389 X mod f(x) (数位DP)
- Foundation框架
- 铁路的售票系统来说明分库分表对架构的影响