| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
贴个代妈#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
int N;
while(1){
scanf("%d", &N);
if(!N) break;
while(1){
int order[1010];
scanf("%d", &order[1]);
if(!order[1]) break;
for(int i = 2; i <= N; i++) scanf("%d", &order[i]);
int stk[1010];
int pos = 0;
int state[1010] = {0};//0: 在A 1: 在B 2: 在C
int cur = 1;
bool ky = 1;
for(int i = 1; i <= N; i++){
int req = order[i];
if(state[req] == 0){
while(cur != req){
stk[pos] = cur;
pos++;
state[cur] = 1;
cur++;
}
state[req] = 2;
cur++;
}
else if(state[req] == 1){
if(stk[pos-1] == req){
state[req] = 2;
pos--;
}
else{
ky = 0;
break;
}
}
else{
ky = 0;
break;
}
}
if(ky) printf("Yes\n");
else printf("No\n");
}
printf("\n");
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator