-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathboj10845.cpp
More file actions
63 lines (53 loc) · 987 Bytes
/
boj10845.cpp
File metadata and controls
63 lines (53 loc) · 987 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include<stdio.h>
int n, Q[10001], Qsize = 0;
void q_push(int x){
if(Qsize){
for(int i=Qsize; i>0; i--)
Q[i] = Q[i-1];
}
Q[0] = x;
Qsize++;
}
void q_pop(){
printf("%d\n", Qsize ? Q[--Qsize] : -1);
}
void q_size(){
printf("%d\n", Qsize);
}
void q_empty(){
printf("%d\n", Qsize>0 ? 0 : 1);
}
void q_front(){
printf("%d\n", Qsize>0 ? Q[Qsize-1] : -1);
}
void q_back(){
printf("%d\n", Qsize>0 ? Q[0] : -1);
}
int chk(char* ar){
if(ar[0] == 'p'){
if(ar[1] == 'u') return 0;
else return 1;
}
else if(ar[0] == 's') return 2;
else if(ar[0] == 'e') return 3;
else if(ar[0] == 'f') return 4;
else return 5;
}
int main()
{
scanf("%d", &n);
while(n--){
char ar[10];
scanf("%s", &ar);
int query = chk(ar), X;
if(query == 0) scanf("%d", &X);
switch(query){
case 0:{ q_push(X); break; }
case 1:{ q_pop(); break; }
case 2:{ q_size(); break; }
case 3:{ q_empty(); break; }
case 4:{ q_front(); break; }
case 5:{ q_back(); break; }
}
}
}