2010-11-01から1ヶ月間の記事一覧

AOJ - Problem 0028 : Mode Value

AOJ

問題文 入力された整数値のうち出現頻度が多いものを出力する問題です。 数字ごとに何回入力されたかを配列などに保持して最後にその出現回数の最大のものを出力するようにします。 複数あるときは、昇順にソートしてから複数の数字を出力します。 #include <iostream></iostream>…

AOJ - Problem 0027 : What day is today?

AOJ

問題文 1月1日から順に1日ずつ増やして曜日を判定するようにしました。 ツェラーの公式という西暦、月、日から曜日を求める有名な公式があるのでそちらを使った方がよかったかもしれません。 #include <iostream> #include <string> using namespace std; int main(){ string w</string></iostream>…

AOJ - Problem 0026 : Dropping Ink

AOJ

問題文 素直に実装するだけです。気を付けることは特になかった気がします。 #include <stdio.h> int main(){ int map[10][10],ink,x,y,max=0,count=0; int dx[] = { 0, 0,-1, 1,-1,-1, 1, 1, 0, 0,-2, 2}; int dy[] = {-1, 1, 0, 0,-1, 1,-1, 1,-2, 2, 0, 0}; for(in</stdio.h>…

AOJ - Problem 0025 : Hit and Blow

AOJ

問題文 有名なゲームのヒットアンドブローですね。学校が終わった後少し時間があったとき 自分で遊ぶ用のヒットアンドブローを暇つぶしにコーディングしたりしてたので、 わりとすぐに解けました。 位置も数字も一致している数はblowに含まれないので気をつ…

AOJ - Problem 0024 : Physical Experiments

AOJ

問題文 玉が割れるのに必要な最低速度vが与えられるので速度vから時間tを求め、時間tから高さyを求めましょう。 高さy[m]が分かればy以上の高さを持つ最小の階が答えとなります。 #include <iostream> using namespace std; int main(){ double v, t, y; int n, h[1000</iostream>…

AOJ - Problem 0023 : Circles Intersection

問題文 円と円が交わっていないか、交わっているか含まれているかを判定して出力する問題です。 2点間の距離と2つの円の半径の大小関係から判定できます。円のどちらかが含まれている場合は 半径を比較して小さい円が大きい円に含まれています。 #include <iostream></iostream>…

AOJ - Problem 0022 : Maximum Sum Sequence

AOJ

問題文 連続した項の和の最大値を出力する問題です。下のソースコードは計算量がO(n^2)です。 ちょっと危ないかと思いきやn またこの問題は最低1つは選択しないといけないようなので、-1,-2,-3という数列なら-1と出力 しなければならないようです。 #includ…

AOJ - Problem 0021 : Parallelism

問題文 4つの点A, B, C, Dがあり、直線ABとCDが平行か判定する問題です。 幾何問題の中では初歩的な問題です。 幾何問題のベクトル演算にかんする解説がACM/ICPC国内予選突破の手引きにあり、分かりやすいです。 幾何の基本的なベクトル演算はこのサイトを…

AOJ - Problem 0020 : Capitalize

問題文 アルファベットの小文字を大文字に変換して出力するプログラムです。 文字列関連の問題はASCIIコードの知識があると 楽になることがあるので覚えておくといいかもしれません。 #include <iostream> #include <string> using namespace std; int main(){ string s; while</string></iostream>…