Gap.「ギャップと呼ばれるカードゲーム。card.「2桁の数字の付いているカードが28枚ある。左の数字(1から4)はカードのスーツ(ハート、ダイアモンド、クラブ、スペードのこと)を表し、右の数字(1から7)はカードの大きさを表す。layout.「カードを混ぜて、テーブルに7枚ずつ4列をつくり、数字が見えるようにする。4列の左にカード1枚入るスペースを確保しておく。on.「数字1のカードを左のスペースにもっていき、上から11、21等の順に置く。layout.「これで28枚のカードと4箇所のスペース(ギャップと呼ぶ)が4x8の列になる。ここからゲームがスタート。successor.「移動のルールとして、4箇所のギャップのどれかを選び、そのギャップの左隣のカードの次にくるもので埋めないといけない。スーツは同じでないといけない。”42′′のつぎのカードは”43′′であり、”27′′につぎのカードはない。gap.「上のレイアウトでは、”43′′を”42′′の右のギャップにいれることができる。”35′′の右隣に”36′′が移動可能。”43′′を移動したら、”16′′の右に新しいギャップが空く。数字7の右にカードを移動することができない。follows.「同じスーツが昇順で並ぶようになればゲームが完成し終了する。layout.「完成するまでの最小移動回数を計算して欲しい。follow.「入力の1行目に、初期レイアウトの数が入る。cards.「個々のレイアウトは5行。1行は空白行、残りの4行はカード4列の最初の並びを表す。“-1”.「個々のレイアウトに対応して、完成までの最短移動回数を表示すること。最初のカードの移動はこの回数に入れないこと。初期レイアウトから完成することは不可能な場合は、-1を表示すること。admin分子式の構文解析問題。reality.「分子式を扱って欲しい。consider.「以下は原子記号と分子式の定義。symbols.「分子式中の原子は原子記号でで表され、その原子記号は大文字の1文字、あるいは大文字に続き小文字の2文字である。例、HとHeは原子記号。He’s.「分子式は原子記号の列である。例、HHHeHHHeは分子式、4つのHと2つのHeで構成される分子。((H)2He)2.「便宜上、同じ式Xのn回の繰り返し(nは2から99までの整数)は(X)nと書くこともできる。Xが原子記号の場合、括弧も省略できる。例、HHHeHHHeはH2HeH2He、(HHHe)2、(H2He)2、((H)2He)2のどちらでもいい。follows.「まとめると、分子式は形式上、つぎのように定義することができる。12.「各原子は質量をもている。原子の質量が与えられるものとして、分子式で書き表される分子の質量を計算しなさい。分子の質量は原子の質量の合計である。HとHeの質量はそれぞれ1と4とすると、分子(H2He)2の質量は12である。symbol.「入力は2部からなる。第1部には原子表があり、各行に原子記号とその質量(1000を越えない正の整数)が入る。間には1つ以上のスペースで区切られる。同じ原子記号が異なる行に書かれることはない。input.「第2部には複数の行があり、それぞれの行が80文字を越えない分子式が書かれている。スペース文字は含まない。分子式1つに最大105の原子を含むことがある。原子表になかった原子記号が含まれることもある。入力の最後として、0だけの行が入る。allowed.「出力の各行に入力の第2部の各行に対応すること。その他の文字は入れてはいけない。admin天気のスケジュールをつくる問題。Wind.「貴方は風の神様。else.「雨雲を動かすことで、天気を左右できる。雲の下はいつも雨、雲のないところはいつも晴れだから。forecast”.「でも、貴方は情け深く、十分な量の雨を降らせたいが、マーケットや祭りのある日に晴れてやりたい。numbers.「4×4正方形の国が任せられた。country.「雲の大きさは2×2。国境から出てはいけない。schedule.「ある期間内の、マーケットや祭りのスケジュール表はもらえる。最初の日には、スケジュールと関係なく、中央地区(6-7-10-11)は雨になっている。day.「その後の日には、上下左右4方向に、1地区、または2地区、雨雲を動かすことができる。同じ場所に留めることもできる。対角線方向の移動はできない。一日の始まりの時刻に移動する。finishes.「1週間雨の降らない地区があってはいけない、つまり、雨の降らない日は個々の地区では最大6日間。期間外の日に雨の心配はしなくていい。期間前後の日に全国的に雨が降ると仮定してもいい。zero.「入力は複数のデータセットが入る。入力の終了として、0の行が入る。spaces.「データセットに、期間の日数N(365以下)が与えられ、その後にN行が続き、マーケットと祭りのスケジュールを表す。i行目はi日目のスケジュール。1行に16個の数字があり、0は普通の日、1はマーケットや祭りのある日を示す。it.「それぞれのデータセットに対し、0か1を1行ずつ出力すること。すべての要望に満足させることができるならば1、ダメなら0にすること。coordinates).「Yokoさんの数学宿題はxy平面上の多角形の面積を求めるものだ。各頂点はすべてグリッド点にある、すなわち、整数座標上にある。55).「Yokoさんの宿題に手伝って欲しい。多角形は頂点の座標リストとして与えられる。多角形と共通する単位正方形の数を数えることで面積を見積もって欲しい。共通するとは、つまり、多角形と単位正方形との共有面積が0以上のことだ。下図では、ダッシュの線は縦横のグリッド線を表し、実線は多角形の輪郭を表す。影のかかっている単位正方形は多角形との共通部分だ。共通部分の単位正方形の数が55なので、55と教えること。zero.「入力ファイルに複数の多角形のデータが入る。入力の終了として最終行に0が入る。2000.「各多角形のデータは頂点を示す整数m(>=3)の行から始まる。i番目の行はi番目の頂点の座標。i+1番目の頂点とi番目の頂点とはエッジ(腺分)でつなぐ。最後のm番目の頂点は最初の1番目の頂点とエッジで結んでいる。エッジ同士は頂点でしかぶつからない。1つの頂点からエッジ3本出ることはない。個々の多角形の頂点の数は100以下と考えてよい。y座標の値は-2000から2000の間。printed.「出力には多角形の数だけの行にすること。k行目にk番目の多角形の面積を表す整数にすること。スペースを含め、他の文字はいっさい、出力に入れてはいけない。are.「任意の正の整数が最大4つの平方数の和で表すことができる。4平方定理として知られている。よって既になされたが、ここで、いくつかの数字について定理が成り立つことを、数式の個数を数えあげることで示して欲しい。ついて、最大4つの平方数の和として成り立つ数式すべての数を知らせること。加算の順序は問題にしない。separately.「例えば、25について確認しよう。25は3つの数式で表すことができる。したがって、3と報告しないといけない。data.「入力は最大255行ある。各行に215未満の正の整数が1つ書かれている。入力の最後の行に0が入るが、入力データではない。output.「出力の各行に整数1つにすること。ほかの文字を入れてはいけない。squares.「この整数は、入力のnに対し、nを最大4つの平方数の和で表現する数式の個数のことだ。adminパネルを覆うカーペットの最小枚数を決定する問題。プログラムを楽しく書いている。実用性のありそうな問題なので、本当に楽しい。多くのテキストにあるような、意味不明な四則演算で言語学習するよりも、そういう面白い実例があれば、学習の動機付けに効果的だろう。buy.「新しく住宅を買った。使いやすいリビングルームを見て、満足している。it.「ただ、リビングルームは床にキズが何箇所にある。carpets.「床は四角い形だが、正方形のパネルに覆われている。キズのあるパネルを取り替える経済的余裕がないので、カーペットを敷くことにした。follows.「使えるカーペットに、つぎの条件がついている。panels.「1.正方形。2.互いにオーバーラップできる。3.折り曲げることはできない。4.さまざまなサイズのものが使えるが、それぞれのサイズはパネルの整数倍と考えてよい。ones.「キズのあるパネルはカーペットで覆わなければいけないが、キズのないパネルは覆ってはいけない。needed.「例えば、図1のキズに対し、最低6枚のカーペットが必要。possible.「サイズに関係なく、カーペットは皆同じ値段で買える。したがって、できるだけ少ない枚数にすべきだ。panels.「キズのついたパネルを覆うカーペットの最小枚数を決めてくれ。zeros.「入力に複数のデータセットが含まれる。入力の終了として、最終行に0が2つ入る。follows.「それぞれのデータセットは床の状態を示す。データセットのフォーマットはつぎの通り。(整数)、パネルの状態を示す。covered).「Pyxの値が0のものは、キズのないパネルを示す。値が1のものは、キズのついたパネルを示す。panels.「それぞれのデータセットに対し、キズのついたパネルを覆うカーペットの最小枚数を整数1行に出力せよ。admin宇宙ステーションの連結通路の全長を最短にする問題。task.「宇宙ステーションのエンジニアとしてプログラムの作成に期待されている。possible.「宇宙ステーションはセルと呼ばれている複数のユニットによってつくられている。すべてのセルは球の形をしているが、サイズは様ざま。周回軌道に入った後に、セルが予定した位置に固定させるが、セル同士がくっ付いたり、オーバーラップしたり、極端の場合ほかのセルに入れられたりすることもできる。transitively.「クルー達が移動できるために、すべてのセルは繋がるべきだ。AとBとがくっ付いているか、オーバーラップしている。AとBとが通路によって繋いでいる。間にセルCがあって、AからCへ、BからCへ移動できる場合。(3)のケースでは通過のためと解釈する。corridors.「セルペア同士を通路によって繋げる配置をデザインして欲しい。通路の配置に自由度がある。くっ付いたり、オーバーラップしていないセル3つA、B、Cがあるとすると、少なくとも3つのプランが考えられる。A-BとA-Cの繋ぐ通路をつくるプラン、B-CとB-Aのプラン、C-AとC-Bのプラン。通路の建設費用は長さに依存する。したがって、すべての通路の総長が最短となる通路の建設プランを選ぶべきだ。intersect.「通路の幅は無視してよい。通路はセルの表面からつくる。通路の長さに制限はないが、短いほうにすべきだろう。A-BとC-Dとの通路が空中で交叉しても、AとCの間に通路があるとは考えない、つまり、交叉は起きないと考えてもいい。format.「入力に複数のデータセットが含まれる。各データセットは以下のフォーマット。(100以下の正整数)、セルの数。character.「セルの記述にn行がつぎに続く。各値は小数点以下3桁の数字となる。zero.「入力の終了として、最終行に0が入る。0.001.「各データセットに対し、通路の全長の最短長さを表示せよ。小数点以下3桁の数字で表示すること。0.001以上の誤差を越えないこと。0.000.「通路が必要なければ、つまりすべてのセルが通路なしでも繋いでいる場合には、通路の長さを0.000とせよ。1.「マトリックスに隠されているシクレットナンバーを見つけ出しなさい。マトリックスの各要素は数字か文字。manner.「シクレットナンバーとそうでないものは、10進数の列としてマトリックスに埋め込まれている。おいて、Dk+1はDkのすぐ右隣か真下にある。この方法で見つけ出す最大の数字がクレジットナンバーだ。図2の通り、マトリックスにある。一般的に、複数の数字列が一部共有することもありえる。クレジットナンバーになる。second.「一方、図3のものは除外しないといけない。908A2は文字を含むし、23149930は5番目の数字が4番目の上に来ているし、90037は3文字目が2文字目の右下にあるから。follows.「入力に複数のデータセットが含まれる。各データセットがマトリックスを表す。(それぞれ70以下の正整数)、マトリックスの横幅と高さ。digit.「H行がつぎに続く。各行は上から下までのマトリックス各行を示す。マトリックスには少なくとも0以外の数字を1つ含むと仮定してよい。input.「入力の終了として、最後の行に0二つが入る。suppressed.「各データセットに対し、1行ずつクレジットナンバーを表示せよ。先頭の0は表示してはいけない。lord.「教育における功績のご褒美として、会津の大名から四角い土地をもらえることになった。サイズは大名が決めるが、土地の場所はブロック内ならどこでもいいらしい。ブロック内に、会津名物の柿木があちこちに植えてあったので、できるだけ多くの木を囲む土地を選びたい。1.「例えば、図1に横10縦8のブロックを表す。木の植えてある場所を示す。横幅4高さ3サイズの土地なら、実線で囲んだ土地に木が最も多い。横幅6高さ4の土地ならダッシュで示したものが最も木が多い。横幅3高さ4の土地なら点線の土地が最も理想的だ。注意して欲しいのは、横幅と高さを入れ替えてはいけないこと。3×4と4×3は違うサイズ。trees.「与えられたサイズ(横幅と高さ)に対し、最も多くの柿木を囲む土地の場所を決めてくれ。format.「入力に複数のデータセットを含む。各データセットのフォーマットは以下の通り。(500未満の正の整数)、柿木の数。(それぞれ100未満の正の整数)、ブロックの横幅と高さ。yi、i番目の木の位置。座標の原点は1であることに注意。同じ座標に木が2本以上あることはないが、座標の順番はソートされていない。T、大名から与えられた土地の横幅と高さ。zero.「入力の終了として、最後の行に0が入る。size.「それぞれのデータセットに対し、与えられたサイズの土地で囲める最大の柿木の本数を1行ずつ出力せよ。