A Stack or A Queue?

A Stack or A Queue?
A Stack or A Queue?

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
#include<stack>
#include<queue>

using namespace std;
int a[105];
int b[105];

int is_stack(int a[],int b[],int n)
{
	int flag = 1;
	for(int i=0;i<n;i++)
	{
		if(a[i]!=b[n-1-i])
		{
			flag = 0;
			break;
		}
	}
	
	if(flag==1)
		return 1;
	else
		return 0;
}


int is_queue(int a[],int b[],int n)
{
	int flag = 1;
	for(int i=0;i<n;i++)
	{
		if(a[i]!=b[i])
		{
			flag = 0;
			break;
		}
	}
	
	if(flag==1)
		return 1;
	else
		return 0;
}

int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int n;
		scanf("%d",&n);
		for(int i=0;i<n;i++)
			scanf("%d",&a[i]);
		for(int i=0;i<n;i++)
			scanf("%d",&b[i]);
			
		if(is_stack(a,b,n)==1&&is_queue(a,b,n)==0)
			printf("stack\n");
		else if(is_stack(a,b,n)==0&&is_queue(a,b,n)==1)
			printf("queue\n");
		else if(is_stack(a,b,n)==1&&is_queue(a,b,n)==1)
			printf("both\n");
		else
			printf("neither\n");
	}
	return 0;
}