| ||||||||||
| 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 <cstdio>
#include <stack>
using namespace std;
int main()
{ stack<int>de;
int n,s[1001],right,i,j;
bool flag[1001];
while(scanf("%d",&n)&&n)
{ while(scanf("%d",&s[1])&&s[1])
{ for(i=2;i<=n;++i) scanf("%d",&s[i]);
memset(flag,0,sizeof(flag));
while(!de.empty()) de.pop();
right=1;
bool flag1=0;
for(i=1;i<=n;++i)
{ if(!flag[s[i]]) //未入栈
{ for(j=right;j<=s[i];++j)
de.push(j),flag[j]=1;
right=s[i]+1;
}
else if(s[i]!=de.top())
{ flag1=1;
break;
}
de.pop();
}
if(flag1) puts("No");
else puts("Yes");
}
puts("");
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator