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

AOJ - Problem 0019 : Factorial

AOJ

問題文 入力したnに対し、n!(nの階乗)を出力する問題です。 ただしnが20以下となっているので、int型の場合(long int型)は32bit(=4byte)なので 20!では大きすぎてオーバーフローしてしまうみたいです。 なので、long long int型(64bit)を使います。これなら2…

AOJ - Problem 0018 : Sorting Five Numbers

問題文 5つの整数を降順に整列して出力する問題です。降順なので大きい数字から順に表示しましょう。 #include <iostream> #include <algorithm> #include <vector> using namespace std; int main(){ vector<int> a; int n; for(int i=0 ; i<5 ; i++){ cin >> n; a.push_back(n); } sort( a.be</int></vector></algorithm></iostream>…

AOJ - Problem 0017 : Caesar Cipher

問題文 シーザー暗号に関する問題です。何故かWAをたくさん出してしまいました。 きっとWAを出した人が多い気がします。1行の文字列を何文字かずらしそのなかに"the","this","that"が含まれていたら 出力するようにします。一行ごとに読み取り、その文字列…

AOJ - Problem 0016 : Treasure Hunt

AOJ

問題文 歩数(進む距離)と回転角度が与えられ、最後の位置座標を出力する問題です。 初めこの回転角度を進む角度と勘違いしてWAになりました(ぉぃ回転角度なので、現在の角度に加算してあげましょう。 たくさんキャストしてしているが、Acceptしたので細かい…

AOJ - Problem 0015 : National Budget

AOJ

問題文 80桁以下の和を計算して出力する問題です。80桁を超えるときは"overflow"と出力するようです。 80桁だと当然int型では計算できないので、文字列として読み込み、1の位から順に1ケタずつ 計算するのが正攻法だと思われます。 C++のstring型を使いま…

AOJ - Problem 0014 : Integral

AOJ

問題文 積分の問題なのでdouble型を使うと思いきや整数値しか使わない問題でした。 長方形の面積の和を出力します。 #include <iostream> using namespace std; int f(int x){ return (x*x); } int main(){ int d,s; while( cin >> d ){ s = 0; for(int i=1 ; (d*i)<=(</iostream>…

AOJ - Problem 0013 : Switching Railroad Cars

AOJ

問題文 スタックを実装するだけの問題です。 C言語で提出する場合には、1から実装する必要がありますが、 C++ならSTLを使うと実装しなくていいので楽です。 #include <iostream> #include <stack> using namespace std; int main(){ stack<int> st; int n, a; while(cin >> n){ if</int></stack></iostream>…

AOJ - Problem 0012 : A Point in a Triangle

問題文 三角形の内部に点があるかどうか判定する問題です。 三角形の頂点3つを角A,B,C、判定する点をPとすると角APB,BPC,CPAの角度の和が 360°なら内部にあると判定する方法でOKです。 もしかすると他の解法もあるかもしれません。 Problem 0010 : Circumsc…

AOJ - Problem 0011 : Drawing Lots

AOJ

問題文 あみだくじの問題です。 配列(リスト)の値を交換するだけです。値を交換するとき int a,b; a = b; b = a;と書かないように気をつけましょう。 #include <cstdio> inline void swap(int array[], int a, int b){ int c = array[a]; array[a] = array[b]; array</cstdio>…