백준/백준-C++

10828번: 스택

Beabletoet 2017. 5. 26. 15:33

#include <iostream>

#include <cstdio>

#include <stack>

#include <cstring>

using namespace std;

int main()

{

stack<int> s;

int n;

char com[6];

cin >> n;

for (int i = 0, a; i < n; ++i)

{

scanf("%s", &com);

if (!strcmp(com, "push"))

{

cin >> a;

s.push(a);

}

else if (!strcmp(com, "pop"))

if (s.empty())

cout << -1 << endl;

else

{

cout << s.top() << endl;

s.pop();

}

else if (!strcmp(com, "size"))

cout << s.size() << endl;

else if (!strcmp(com, "empty"))

cout << s.empty() << endl;

else if (!strcmp(com, "top"))

{

if (s.empty())

cout << -1 << endl;

else

cout << s.top() << endl;;

}

}

}