![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/fd721401b19c73e575e331a0dc113e52.png)
#include<iostream>
using namespace std;
struct Dblstack
{
int top[2], bot[2];
int *V;
int m;
};
void Initstack(Dblstack &s, int m) {
s.V = new int[m];
s.top[0] = s.bot[0]= -1;
s.top[1] = s.bot[1]=m;
}
int full(Dblstack &s) {
if (s.top[0] + 1 == s.top[1])
return 1;
else return 0;
}
int empty(Dblstack &s, int tag) {
if (s.top[tag] == s.bot[tag])
return 1;
else return 0;
}
void pop(Dblstack &s, int tag) {
if (tag == 0) {
cout << s.V[s.top[tag]] << " ";
s.top[tag]--;
}
else if (tag == 1) {
cout << s.V[s.top[tag]] << " ";
s.top[tag]++;
}
}
void push(Dblstack &s, int tag) {
int e;
cin >> e;
if (tag == 0) {
s.top[tag]++;
s.V[s.top[tag]] = e;
}
else if (tag == 1) {
s.top[tag]--;
s.V[s.top[tag]] = e;
}
}
int main() {
Dblstack s;
int m;
int e0, e1, d0, d1;
while (cin >> m) {
if (m == 0) break;
Initstack(s, m);
cin >> e0 >> e1 >> d0 >> d1;
for (int i = 0; i < e0; i++) {
push(s, 0);
}
for (int i = 0; i < e1; i++) {
push(s, 1);
}
cout << full(s) << endl;
while (d0--) {
pop(s, 0);
}
cout << !empty(s, 0) << endl;
while (d1--) {
pop(s, 1);
}
cout << !empty(s, 1) << endl;
}
}