http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3210

题意:给出stack和queue的定义,一个是先进后出(FILO),一个是先进先出(FIFO),每个样例都有两行,每行n个,判断它们的属性。(我每次都是用最笨的方法。。)

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main() {
 4     int t,n,k,r,h,i,j;
 5     int a[2][250];
 6     cin>>t;
 7     while(t--) {
 8         cin>>n;
 9         k=1,r=1;
10         for(i=0; i<2; i++)
11             for(j=0; j<n; j++)
12                 cin>>a[i][j];
13         for(i=0,j=0,h=n-1; j<n,h>=0; j++,h--) {
14             if(a[i][j]!=a[i+1][h])
15                 k=0;
16         }
17         for(j=0,i=0; j<n; j++) {
18             if(a[i][j]!=a[i+1][j])
19                 r=0;
20         }
21         if(k&&!r)
22             printf("stack\n");
23         else if(r&&!k)
24             printf("queue\n");
25         else if(k&&r)
26             printf("both\n");
27         else
28             printf("neither\n");
29     }
30     return 0;
31 }

 

相关文章:

  • 2021-10-18
  • 2022-12-23
  • 2021-09-26
  • 2022-01-27
  • 2021-05-29
  • 2021-05-17
  • 2021-10-25
  • 2022-12-23
猜你喜欢
  • 2022-02-19
  • 2021-08-02
  • 2021-12-08
  • 2021-08-27
  • 2022-02-05
  • 2021-12-06
  • 2021-08-13
相关资源
相似解决方案