レシピの連鎖にサイクルが無いので、再帰で最小コストを求めることができます。問題の仕様は残念ながら簡単化されていて(難易度調整のためでしょう)、サイズが小さく、作るものも1つ、1つのアイテムを作るレシピはたかだか1つしかないので、メモする(動的計画法にする)必要もないようです。以下のプログラムは1つのアイテムが複数のレシピを持てるようにしてあります。作る最小のコストを求めます。~青春の片道切符編~問題はこちら。グラフの最短経路(コスト)を求める問題です。残念ながら典型的な問題です。ダイクストラのアルゴリズムで解きました。面倒なシミュレーションの問題です。椅子の状態を保持する配列(ここでは配列C)の先頭と末尾に番兵として'X'などを入れておくと実装が楽になるかと思います。(正が右、負が左)への空席の数を返します。問題原文にある、椅子のサイズは大きすぎると思うのですが・・・ミスプリントでしょうね(AOJでは修正されています)。芸術家品川のピンチ問題はこちら。面倒なサイコロ(立方体)回転シミュレーションの問題です。与えられたサイコロの中でユニークなものの数を数えます。サイコロjの向きを固定し、サイコロiを回転させて、全ての向き(24通り)についてjと比較し、1つでも一致すれば、等しいと判断します。参加ついでにユークリッドのアルゴリズムを習得しましょう、という問題です。説明されている通りに実装します。なるように」という条件を忘れずに。ソート(初等的なアルゴリズムでも可)を実装させる問題です。クラスを作り、ソートしました。(慣れない場合は、基準を変えてソートを2回行えば良い。十日市での人気の出典は問題はこちら。プログラミングの基礎知識を問う問題です。最大値としておき、残り4人分を読み込んで最大値を更新していくという感じに書きました。masimarock。