【XSY2271]カエル(スタック)

<ビット/ STDC ++。H>含みます

N 200010を定義します

名前空間stdを使用。

N INT、[N]、P [N]、ST [N]、トップ。

NO()無効
{
プット( "いいえ")。
出口(0);
}

メインINT()
{
scanfの( "%のD"、およびN-);
(。; I <N-I ++は私は= int型1)のための
scanfの( "%のD"、&A [I]);
(私は= int型の場合は1、。私は< N- =;私は++)
{
IF([I] == A [-I 1。])独自のジャンプ//
P [I] = Iを、
他の([I]は== A [。-I 1] +2 IF )//私は右にジャンプ
ST [トップ++] = I;
他のIF([I] == Aを[。-I 1] -2)//私は左にジャンプ
{
私は行く// IF(トップ)!左ジャンプ、誰もがそれを飛び越え、スキップするように残っていない場合、私を示す
(NO)を、
P [ST [トップ]] = I;
P [i]はST [top--]を=;
}
他に
ありません(); //各ので、[i]は二つの隣接も得られ、せいぜい2だけ異なる、他方は満たされていない
}
IF(上)ならびに不正示すスタック//右へカエルジャンプ、
いいえ();
;プット( "はい")
(。; I <= N-I ++は私は= int型1)のため
のprintf( "%のD"、P [I]);
0を返します;
}

おすすめ

転載: www.cnblogs.com/ez-lcw/p/11491303.html