夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

作問訓練3

とりあえずストーリー抜きで面白い問題考えられないかなぁ〜と。。。
若干AtCoder社設立への便乗という感じもありますが・・・
そのために今回は訓練シリーズを称しながら、問題を作るコツというものを探っていきます。
とりあえず手法として2パターンを探っていきます。

アルゴリズム先

アルゴリズム先のものに関しては、本をよんでいていい方法が思いつきました。それはいわば「数学ガール形式」です。
数学ガールの村木先生(だったよね?)は主人公やその周りの人たちに研究対象のカードを与えることがあります。
そして登場人物たちはそれを研究し、その過程で問題を自分で設定し、解いたりします。
実はこれ、僕の塾の物理でも同じようなことをやっていくらしいです。先生いわく
「すべてを同じ問題として見れるように、個々の対策のような形ではなく、ひとつの物理モデルを研究するような問題をやっていきます。苦手な人は授業でやるところまでは最低限、得意な人はどんどん追求して自分で問題をつくって解いてみてください」
と。
ですから、これを応用できないかなというわけです。
つまり、ひとつのアルゴリズムを理解する過程で、あるいは理解したものはその解説の字面を追いながらやればうまく思いつくんじゃないかな〜と。
慣れれば混合問題とかもできそうですしね。
まずこれをひとつの候補としてあげておきます。

ストーリー先

ストーリー先は、自作ストーリーだと考えづらいかなとも思うので、まぁ先人たちのブログから学んだことなんですが、自分の好きなものに関連させてストーリーを構築し適切な問題に落とし込んでいくというものです。
まぁこれもありかなー・・・・

あ、見つかった。

ストーリー先で一問、単純問題。
20XX年、毎年恒例となりつつある国民的アイドルグループの第X回総選挙、CD商法の一貫として最初は行われていた選挙であったが、IT化が進み今では立派なイベン卜となっている。そんな今回は増えてきた投票数に応じて、新たなシステムを構築しようとしていた。あなたはそんなプロジェクトチームのプログラマーの一人として選ばれた。
今n枚の投票データが与えられる。それぞれの投票データは3人までの名前から構成されており、それは書かれた人それぞれに一票を投じるという意味である。
このとき総選挙の順位を確定せよ。ただし、同じ得票数は同じ順位となる。

こんな感じでどんどん作っていきます!がんばるど!!!