1282: Stack ? Queue ?

来源:互联网 发布:淘宝卖家寄快递 编辑:程序博客网 时间:2024/06/05 03:32

1282: Stack ? Queue ? [水题]

时间限制: 1 Sec 内存限制: 128 MB

题目描述

给定n个元素的输入顺序和输出顺序,需要你判定这是一个栈还是队列?

输入

有多组测试数据。

每组数据第一行有一个整数n,表示元素个数。

第二行有n个整数,表示输入顺序,第三行有n个整数,表示输出顺序。

后台数据保证2 <= n <= 10,给定的n个元素均不相同。

输出

若有可能是一个队列的操作,则输出0。

若是一个栈的操作,则输出1。

数据保证有解。

样例输入

21 22 132 1 32 3 131 2 31 2 3

样例输出

110

思路:保证有解,不要钻牛角尖,只需要特判最后一位就好了;

#include<cstdio>#include<cstring>#include<cmath>#include<queue>#include<stack>#include<algorithm>#include<iostream>using namespace std;int a[1010],b[1010];int main(){    int n;    while(scanf("%d",&n)!=EOF)    {        for(int i=0;i<n;i++)            scanf("%d",&a[i]);        for(int i=0;i<n;i++)            scanf("%d",&b[i]);        if(b[n-1]!=a[n-1])        {            printf("1\n");        }        else printf("0\n");    }    return 0;}

0 0
原创粉丝点击