hdu 1702 ACboy needs your help again!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1702

题目大意:按照所给要求,输出相应的数。“FIFO”指代先进先出,即队列的概念,“FILO”指代先进后出,即栈的表现形式~这里定义两个函数即可,一个队列,一个栈的调用!

 1 #include <iostream>

 2 #include <cstdio>

 3 #include <queue>

 4 #include <stack>

 5 #include <cstring>

 6 using namespace std;

 7 

 8 int s,p,o,z,q;

 9 char ch[105],str[105];

10 

11 int FIFO(int w)

12 {

13     queue<int>q,qq;

14     for (int i=0; i<w; i++)

15     {

16         scanf("%s",ch);

17         if (strcmp(ch,"IN")==0)

18         {

19             scanf("%d",&o);

20             q.push(o);

21         }

22         else if (strcmp(ch,"OUT")==0)

23         {

24             if (!q.empty())

25             {

26                 s=q.front();

27                 cout<<s<<endl;

28                 q.pop();

29             }

30             else

31                 cout<<"None"<<endl;

32 

33         }

34     }

35 }

36 int FILO(int w)

37 {

38     stack<int>q,qq;

39     for (int i=0; i<w; i++)

40     {

41         scanf("%s",ch);

42         if (strcmp(ch,"IN")==0)

43         {

44             scanf("%d",&p);

45             q.push(p);

46         }

47         else if (strcmp(ch,"OUT")==0)

48         {

49             if (!q.empty())

50             {

51                 z=q.top();

52                 cout<<z<<endl;

53                 q.pop();

54             }

55             else

56                 cout<<"None"<<endl;

57         }

58     }

59 }

60 int main ()

61 {

62     int n,m;

63     while (cin>>n)

64     {

65         while (n--)

66         {

67             scanf ("%d%s",&m,str);

68             //scanf("%s %d",ch,m);

69             if (strcmp(str,"FIFO")==0)

70                 FIFO(m);

71             else

72                 FILO(m);

73         }

74     }

75     return 0;

76 }

 

你可能感兴趣的:(help)