[PAT]クラス1051ポップシーケンス(25ポイント)(スタックのシミュレーション)

質問の意味:

入力3つの正の整数M、N、K(<= 1000)、グループ容量の数、及び入力シーケンススタックのシーケンスの長さを表します。K基は、次いで、一連のスタックを入力し、スタック出力は、シーケンスの順序で可能です。1〜番号順にNは無作為(ランダム、未知のスタックタイミングスタック、スタック内のスタックができる後で要素)スタック。

コード:

#define HAVE_STRUCT_TIMESPEC
する#include <ビット/ STDC ++ H>
使用して名前空間std。
[1007] [1007] INT。
int型のmain(){
IOS :: sync_with_stdio(偽);
cin.tie(NULL)。
cout.tie(NULL)。
int型M、N、K。
CIN >> M >> N >> K。
{ため(; iは= K <++ I I = 1 INT)
(++ J int型のJ = 1; J <= N){ため
CIN >> [I] [j]を。
}
INTフラグ= 0。
スタック<整数> SK;
int型のトップ= 1;
(INT J = 1; J <= N; ++ j)のための{
sk.push(J)。
(!sk.size()> M &&フラグ){もし
COUT << "NOの\ n"。
フラグ= 1。
}
{(sk.empty()&& sk.top()は、[I] [トップ] ==!)しながら
sk.pop()。
++トップ;
}
}
もし(!SK。

それ以外の場合(フラグ!)
はcout << "YES \ N";
}
0を返します。
}

おすすめ

転載: www.cnblogs.com/ldudxy/p/11619023.html