・これは、サンプルが間違ったタイトルを示している。サンプル記述を変更:3,8,5,9。
・これは説明のサンプルですが、私は半時間傷つけます。
Loweの谷の入り口:P2069。
・タイトル:
Nリスの目の一方は、1,2行の下から果実配列を食べるのが好き、そして参照符号... Nを リス一度iはI + 1はI 5、及び足(= i *がiは5%+ 1 *)果実の数で分割される*ことができる最下果実から上方にジャンプし始め、i番目のホップスキップ場合は、上記の果物、果物を食べて、重力の下で、1スペースを下に落ちます。第フルーツ1 * 1 * 1 + 1%5 = 2果実から1ホップスキップは、第三の果実に進み、そして第三の果物を食べて、2日から4果実(果実が第三の元の位置に下がる)上果実の8に2 * 2 * 2 + 1%5 = 4をスキップし、第8を食べ、そう....
もちろん、果物の列の先頭のうちリスジャンプが常にあり、すべてのK倍に、それは果物のいずれかを食べることができません。それから彼女は、果物を食べるために、そのK番目のジャンプをやり直し、果物の底に戻ります。だから、どのようなラベルである(つまり、Mホップの果物が食べて)メートルの唯一の果物を食べるためにそれを頼みますか?
・アイデア:
アレイは低下し続けています。
画像は、グループ数の第一、第二、第三の値を介してダンスを示しています。
・コード:
書式#include <iostreamの> の#include <CStringの> 名前空間stdを使用。 INTのN、M、T。 [10005] int型。 INT YX(INT A) { リターン(*はA * A)%5 + 1。 } (int型のx、int型エンド)ダウン無効 { (I = xをint型、iは=端を<; iは++)のために { [I] = [I + 1]。 } } int型のmain() { CIN >> N >> M。 最後のint; INTステップ= 1。 T = N。 以下のために(INT i = 1; iが<= N; iは++) [I] = I。 以下のために(INT I = 1; I <= M; iは++) { int型、S。 S =のY-X(I); //跳过个数 場合(ステップ+ S <= T)//若没有超出界限 { 最後=ステップ+ S; //所吃果子的位置 ステップ+ = S。 (私!= m)の場合 {T - ; //最高点の位置座標-により落下するので、最高点の数も落ちる (ステップ、t)をダウン; //配列落下 } } 他//それが限界超えた場合 { STEP = 1; /。 /最下最初の果実をスキップ 最終+ =ステップS14; ステップ+ = S; IF(I = M!) { T--; ダウン(STEP、T); } } } COUT << [最終] << ENDL; 戻り0; }