安全プラン62チャイルド・プレイを証明するために、

  1. タイトル:孤児院の子供たちを訪問するためにいくつかの小さな贈り物を準備する子供の日は毎年、牛オフが、今年も事実です。HF牛オフ、経験豊富なベテランとして、自然に我々はいくつかのゲームを用意しました。その中でも、このようなゲームがあります:まず、子どもたちが大きな円で囲まれてみましょう。彼はその後、ランダムに、数mを割り当てられたので、子どもの数0のgettin数という。贈り物を選ぶ際に、その後、ラインのギフトボックスのいずれかを行うように子どもたちが歌を歌っM-1たびに泣いて、ではない彼の次の子で始まる、円に戻り、0 ...メートルを続けます-1パケットの数は....最後に残った子まで、あなたが行うことができない、と珍しい「名探偵コナン」コレクターズエディション(限定された場所ああ!! ^ _ ^)オフ牛を取得....に行きます。あなたは、子どもたちが贈り物それを得るであろう、次の試してみたいですか?(注:子供の数は0からN-1です)

     

    子が存在しない場合は、ご返送ください-1

  2. 思考
    1. メンテナンス円はベクトルの大きさ、各円は、インデックス外から計算されます
  3. コード
    class Solution {
    public:
        int LastRemaining_Solution(int n, int m)
        {
            if (n == 0)
                return -1;
            vector<int> numbers;
            for (int i = 0; i < n; i++)
                numbers.push_back(i);
            int k;
            int startIndex = 0;
            while (numbers.size() > 1) {
                k = (startIndex+m-1)%numbers.size();
                cout << "erase index number:" << k << endl;
                numbers.erase(numbers.begin()+k);
                startIndex = k;
            }
            return numbers[0];
        }
    };

     

公開された141元の記事 ウォンの賞賛5 ビュー7474

おすすめ

転載: blog.csdn.net/Alexia23/article/details/104095184
おすすめ