I♥TLE

Java、オンラインジャッジなど

2017-12-01から1ヶ月間の記事一覧

B問題を正規表現で解いてみる

問題(外部リンク) B: Postal Code - AtCoder Beginner Contest 084 | AtCoder 実装の概要 模範解答ではループで1文字ずつ数字かどうか(あるいはハイフンかどうか)をチェックしていました。 前後の数字の桁数がはっきりa,bと決まっているため特に正規表…

0021-Parallelism

問題(外部リンク) Parallelism | Aizu Online Judge 実装の概要 2直線の平行を判定するAPIが標準では備わっていないので自力実装を行います。(2線分の交差判定であれば存在します) 2直線が平行ということはそれぞれの傾きが等しいということなので、入力…

0020-Capitalize

問題(外部リンク) Capitalize | Aizu Online Judge 実装の概要 文字列に含まれる小文字を全て大文字に変換するだけならStringクラスのtoUpperCase()が便利です。Characterクラスにも同様なメソッドがありますが、そちらは一文字ずつなのでループが必要にな…

0019-Factorial

問題(外部リンク) Factorial | Aizu Online Judge 実装の概要 が成り立つので再帰を用いて解きます。スタックオーバーフローについてはnが20以下となっているため特に気にする必要はありません。 終了条件についてはきちんと定義しておく必要があります。…

0018-Sorting Five Numbers

問題(外部リンク) Sorting Five Numbers | Aizu Online Judge 実装の概要 今回は単純な並び替えの問題なので、Arrays.sort()を使いました。仮に自分でソート部を実装する場合は、数字は5個と決まっているため書きやすいバブルソートなどでも大丈夫です。 …

0017-Caesar Cipher

問題(外部リンク) Caesar Cipher | Aizu Online Judge 実装の概要 問題の制約に「thisかthatかtheのいずれかを含む」と書いてあるので、若干強引ではありますが「試しに各文字をiずつずらした文字列を作る」→「前述のキーワードを含むかチェックする」とい…

0016-Treasure Hunt

問題(外部リンク) Treasure Hunt | Aizu Online Judge 実装の概要 中途半端な角度の移動も有り得るため、移動後の座標の計算に三角関数を用いる必要があります。与えられる角度は今向いている向きからの相対的な角度なので、現在向いている角度も常に保持…

0015-National Budget

問題(外部リンク) National Budget | Aizu Online Judge 実装の概要 long型でも表せないような桁数の足し算なのでBigInteger型を使います。 桁数チェックはBigIntegerを文字列に変換して文字数を取得することでシンプルに行うことができます。 public clas…

0014-Integral

問題(外部リンク) Integral | Aizu Online Judge 実装の概要 高校の教科書にも出てくる区分求積法に近いことを行う問題です。とは言っても、高さがであるような短冊型の図形の面積をひたすら足していく処理なのでプログラムにすると比較的シンプルになりま…

0013-Switching Railroad Cars

問題(外部リンク) Switching Railroad Cars | Aizu Online Judge 実装の概要 0が入力された際に出ていくのは「現在停まっている中で最後に行き止まりに入ってきた車両」なのでスタックを使うと簡単に記述することができます。即ち、車両が行き止まりに入る…

0012-A Point in a Triangle

問題(外部リンク) A Point in a Triangle | Aizu Online Judge 実装の概要 今回はあまり計算式とかを考えずにシンプルに済ませたかったので、java.awt.Polygonクラスを使用しました。これを使えば、三角形に限らず任意の多角形について同様に解くことがで…

D問題を貪欲法で解いてみた&C問題

リアルタイム参戦ではありませんがA〜D問題まで一通り解いてみました。AとBは大体解説と同じようなコードになると思うので省略しますが、特にD問題は解説と違う方法が真っ先に浮かんだのでその方法について紹介します。 問題(外部リンク) AtCoder Beginner…

2424-Kakezan

問題(外部リンク) Kakezan | Aizu Online Judge 実装の概要 任意の桁で区切りを入れて計算する処理は記述を簡単にするためにあえて文字列のまま処理をしてみました。実行時間に不安はありましたが無事に制限時間内に実行が終了しました。 今回の問題では「…

0011-Drawing Lots

問題(外部リンク) Drawing Lots | Aizu Online Judge 実装の概要 Sample Inputの場合、時刻0で(2,4)間に入れ替え発生、時刻1で(3,5)間に入れ替え発生…と解釈することができます。まずは入れ替えに関わるデータを配列に保存しておきます。このとき、a→bだけ…

0010-Circumscribed Circle of a Triangle

問題(外部リンク) Circumscribed Circle of a Triangle | Aizu Online Judge 実装の概要 三角形ABCの外接円の中心は、AB,BC,CAの交点にあります。もちろんこの中の2つの直線を選んで計算すれば十分です。 この実装では方程式そのものを表すクラスと連立方…