人形を含むことができる。高さ(または半径)で全ての人形をソートします。ソートした人形に対して半径(または高さ)についての最長増加部分列の長さを動的計画法により求めます。表されたお城の見取図が与えられ、忍者が見取図の外側から天守閣(見取図上に1つしかない)に至るまでに、堀から這い上がらなくてはならない最小回数を求めよ。忍者は堀の中および地面を東西南北4方向に動くことができる。cj)から深さ優先探索を反復することによって解くことができます。隣接する地面、それらに隣接する地面...を色0で塗りつぶします。色0に隣接する堀、それらに隣接する堀...を色1で塗りつぶします。色1に隣接する地面、それらに隣接する地面...を色2で塗りつぶします。色2に隣接する堀、それらに隣接する堀...を色3で塗りつぶします。...この処理の過程で、見取図からはみ出た時点の色nの半分が解となります。なるような組み合わせ数を出力せよ。再帰関数によって、全てのカードの組み合わせについての数字の合計を試します。種類目のカードを選ぶ処理に移ります。等しくなったとき、カウンターを増やします。列のうち、長さが最大のものの長さを出力せよ。動的計画法で解きます。これを各列(j)を左から右、各行(i)を上から下という順番で計算していきます。要素の最大値が答えとなります。18パソコン甲子園2007の予選が開催されました。問題の質は良くなってきたと思います。問題01,02,06以外は、ACM/ICPCの国内予選に出てもおかしくない内容だと思います。いうことで、簡単な問題も含めて解説したいと思います(※紹介するサンプルプログラムは審判データに対して正しい答えを出力することを保障するものではありません)。概要n個のキャンディがあり、これらを39人の生徒が順番に1個ずつ取っていく。生徒は3C01から3C39までの生徒番号をそれぞれもち、最後のキャンディを取った生徒番号を出力せよ。解法キャンディの数を生徒の数で割った余りを計算し対応する生徒番号を出力します。キャンディの数が生徒数で割り切れる場合は、最後の生徒番号を出力することに注意が必要です。人の視力検査の結果を入力として、視力判定表に基づいて各判定にあてはまる人数を左右の視力別に出力せよ。分岐処理によって人数をカウントしていきます。概要n以下の双子素数(差が2となる素数の組)で最大のものを出力せよ。共に素数かどうかを調べます。masimarock。