poj 1363 线上指导+源代码

poj 1363 线上指导+源代码,最好有注释,并详细跟我解释~

1个回答

#include
#include
using namespace std;
int N;
int out[1024];
int in[1024];
int main()
{
int i;
for(i=1;i<=1000;++i)
in[i]=i;
while(scanf("%d",&N)==1&&N)
{
while(scanf("%d",&out[1])&&out[1])
{
for(i=2;i<=N;++i)
scanf("%d",&out[i]);
int ok;
int pin=1,pout=1;

stack S;
while(1)
{
if(pin<=N&&in[pin]!=out[pout]&&(S.empty()||!S.empty()&&S.top()!=out[pout]))
S.push(in[pin++]);

else if(pin<=N&&in[pin]==out[pout])
{
++pin;
++pout;
}
else if(!S.empty()&&S.top()==out[pout])
{
S.pop();
++pout;
}
else
{
ok=0;
break;
}
if(pout==N+1)
{
ok=1;
break;
}

}
printf("%s\n",ok?"Yes":"No");

}
printf("\n");
}
return 0;

}
我是最快的,有问题就问。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问