您的位置:首页 > 产品设计 > UI/UE

A Stack or A Queue?

2014-02-11 10:43 225 查看
第一行:数字t,表示测试数;

第二行:数字n,表示下面两行每行有n个数;

第三四行:每行输入n个数;判断是栈还是队列。栈是先进后出,队列是先进先出。

Sample Input

4

3

1 2 3

3 2 1

3

1 2 3

1 2 3

3

1 2 1

1 2 1

3

1 2 3

2 3 1

Sample Output

stack

queue

both

neither

#include<iostream>
using namespace std;
int main()
{
int t,i;
cin>>t;

int a[105];
int b[105];
while(t--)
{
int flag=0;
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int j=0;j<n;j++)
cin>>b[j];
for(i=0; i<n; i++)
{
if(a[i]!=b[i]||a[i]!=b[n-i-1])
{
flag=1;
break;
}
}
if(flag==0)
{
cout<<"both"<<endl;
continue;
}
flag=0;
for(i=0; i<n; i++)
{
if(a[i]!=b[i])
{
flag=1;
break;
}
}
if(flag==0)
{
cout<<"queue"<<endl;
continue;
}
flag=0;
for(i=0; i<n; i++)
{
if(a[i]!=b[n-i-1])
{
flag=1;
break;
}
}
if(flag==0)
{
cout<<"stack"<<endl;
continue;
}
cout<<"neither"<<endl;

}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: