You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
3.0 KiB

2 years ago
#include<bits/stdc++.h>
struct queue { //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ӵĽṹ<C4BD><E1B9B9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
int data[1000];
int head;
int tail;
};
struct stack { //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ջ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
int data[10];
int top;
};
int main() {
struct queue q1,q2;
struct stack s;
int book[10];
int i,t;
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
q1.head = 1;
q2.head = 1;
q1.tail = 1;
q2.tail = 1;
//<2F><>ʼ<EFBFBD><CABC>ջ
s.top = 0;
//<2F><><EFBFBD>dz<EFBFBD>ʼ<EFBFBD><CABC>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9>
for(i=1; i<=9; i++)
book[i]=0;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q1<71>в<EFBFBD><D0B2><EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD>
//С<><D0A1><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD>
for(i=1; i<=6; i++) {
scanf("%d",&q1.data[q1.tail]);
q1.tail++;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q2<71>в<EFBFBD><D0B2><EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD>
//С<><D0A1><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD>
for(i=1; i<=6; i++) {
scanf("%d",&q2.data[q2.tail]);
q2.tail++;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>Ϊ<EFBFBD>յ<EFBFBD>ʱ<EFBFBD><CAB1>ִ<EFBFBD><D6B4>ѭ<EFBFBD><D1AD>
while(q1.tail>q1.head && q2.head<q2.tail) {
t = q1.data[q1.head];//С<>߳<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
//<2F>ж<EFBFBD>С<EFBFBD>ߵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ӯ<EFBFBD><D3AE>
if(book[t]==0) { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊt<CEAA><74><EFBFBD><EFBFBD>
//С<>ߴ<EFBFBD><DFB4><EFBFBD>û<EFBFBD><C3BB>Ӯ<EFBFBD><D3AE>
q1.head++;
s.top++;
//<2F>ٰѴ<D9B0><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒŵ<C6B7><C5B5><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ջ
s.data[s.top] = t;
book[t]=1;
} else {
//С<>ߴ<EFBFBD><DFB4>ֿ<EFBFBD><D6BF><EFBFBD>Ӯ<EFBFBD><D3AE>
q1.head++; //С<><D0A1><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
q1.data[q1.tail] = t;//<2F><><EFBFBD><EFBFBD><EFBFBD>ŰѴ<C5B0><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒŵ<C6B7><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ĩβ
q1.tail++;
while(s.data[s.top]!=t) { //<2F><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD>Ӯ<EFBFBD><D3AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ηŵ<CEB7><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ĩβ
book[s.data[s.top]] = 0;//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
q1.data[q1.tail] = s.data[s.top]; //<2F><><EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD><EFBFBD>β
q1.tail++;
s.top--;//ջ<><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>Ҫ<EFBFBD><D2AA>1
}
//<2F>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ t<><74><EFBFBD><EFBFBD>
book[s.data[s.top]] = 0;//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
q1.data[q1.tail] = s.data[s.top]; //<2F><><EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD><EFBFBD>β
q1.tail++;
s.top--;//ջ<><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>Ҫ<EFBFBD><D2AA>1
}
if(q1.head==q1.tail) break;//С<><D0A1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EAA3AC>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
t = q2.data[q2.head];//С<><D0A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
//<2F>ж<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ӯ<EFBFBD><D3AE>
if(book[t]==0) { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊt<CEAA><74><EFBFBD><EFBFBD>
//С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>Ӯ<EFBFBD><D3AE>
q2.head++;//С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
s.top++;
s.data[s.top] = t;//<2F>ٰѴ<D9B0><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒŵ<C6B7><C5B5><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ջ
book[t]=1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊt<CEAA><74><EFBFBD><EFBFBD>
} else {
//С<><D0A1><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>Ӯ<EFBFBD><D3AE>
q2.head++; //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
q2.data[q2.tail] = t; //<2F><><EFBFBD><EFBFBD><EFBFBD>ŰѴ<C5B0><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒŵ<C6B7><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ĩβ
q2.tail++;
while(s.data[s.top]!=t) { //<2F><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD>Ӯ<EFBFBD><D3AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ηŵ<CEB7><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ĩβ
book[s.data[s.top]] = 0;//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
q2.data[q2.tail] = s.data[s.top];//<2F><><EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD><EFBFBD>β
q2.tail++;
s.top--;
}
//<2F>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ t<><74><EFBFBD><EFBFBD>
book[s.data[s.top]] = 0;//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
q2.data[q2.tail] = s.data[s.top]; //<2F><><EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD><EFBFBD>β
q2.tail++;
s.top--;//ջ<><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>Ҫ<EFBFBD><D2AA>1
}
}
if(q2.tail==q2.head) {
printf("С<EFBFBD><EFBFBD> win\n");
printf("С<EFBFBD>ߵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>ƣ<EFBFBD>");
for(i=q1.head; i<=q1.tail-1; i++)
printf("%d",q1.data[i]);
if(s.top>0) { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>");
for(i=1; i<=s.top; i++)
printf(" %d",s.data[i]);
} else
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
} else {
printf("С<EFBFBD><EFBFBD> win\n");
printf("С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>ƣ<EFBFBD>");
for(i=q2.head; i<=q2.tail-1; i++)
printf(" %d",q2.data[i]);
if(s.top>0) { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>");
for(i=1; i<=s.top; i++)
printf(" %d",s.data[i]);
} else
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
}
return 0;
}