土下座しながら探索中

主に競技プログラミング

UVa

UVa 991 : Safe Salutations

問題リンク:http://uva.onlinejudge.org/external/9/991.html問題概要: 円周上にn*2の人が等間隔で立っている 人と人を結ぶときにその線分が交差しない様な結び方は何通り存在するか? (1 解法: カタラン数を利用する wikipediaのカタラン数のページより…

UVa 748 : Exponentiation

問題リンク:Exponentiation問題概要; とても大きい値rとinteger n が与えられる r^nを計算せよ 出力する際には、先頭の0と末尾に連続する0は削除すること解法: java で BigDecimalを使って計算する BigDecimalからStringに変換する際には指数フィールド…

UVa 713 : Adding Reversed Numbers

問題リンク:Adding Reversed Numbers問題概要: 2つのとても大きい値が与えられる それらを反転した値を加え、その結果を反転して出力せよ 先頭の0は消えることに注意解法: BigIntegerを使って計算する StringBufferのreverse()を使って文字列を反転する…

UVa 106 : Fermat vs. Pythagoras

問題リンク;Fermat vs. Pythagoras問題概要: あるpositive integer Nが与えられる x,y,zをN以下のpositive integersとする x*x + y*y = z*z を満たす様なx,y,zの組の内、x,y,zのそれぞれが互いに素なものの数と、x*x+y*y = z*z を満たすようなx,y,zでないN…

UVa 465 : Overflow

問題リンク:Overflow問題概要: a + b または a * b が与えられる(a,bはとても大きい値) 入力をそのまま出力した後に a が 2^31-1 より大きいなら first number too big と、 b が 2^31-1 より大きいなら second number too big と、 a + b または a * b …

UVa 112 : Tree Summing

問題リンク:Tree Summing問題概要: integer I と2分木がLISP S-expressionでtreeとして与えられる treeのルートから葉までの値の和がIとなるならyes,ならないならnoと出力せよ解法: 構文解析を行う treeの値がマイナスである事があるので注意すること つ…

UVa 111 : History Grading

問題リンク : History Grading問題概要: 歴史のテストをした n個の年代順のイベント1...nがどの順番で行われるかの答えと生徒の解答があたえられる 生徒が得たスコアを計算せよ スコアの計算方法は以下の通り 1 2 3 4 が答えだとする 生徒が 1 3 2 4と解答…

UVa 108 : Maximum Sum

問題リンク:Maximum Sum問題概要: N*Nの2次元配列が与えられる この中から作れる長方形のうちその要素の和が最大のものをみつけよ解法: よくあるDP memo[y][x] := memo[y-1][x] + memo[y][x-1] - memo[y+1][x+1] + array[y][x]という配列を用意する array…

UVa 103 : Stacking Boxes

問題リンク:Stacking Boxes問題概要: n個のk次元の箱がある 以下の条件を満たす時、箱aを箱bに入れることができる ・箱aの各辺の長さが箱bの対応する辺の長さ未満であるような順列が存在する (例: 5次元とする 箱 a : 5 1 3 7 6 箱 b : 4 2 7 8 6分かりに…

UVa 10178 : Count the Faces

UVa

問題リンク:http://uva.onlinejudge.org/external/101/10178.html問題概要: 平面グラフが与えられる 平面グラフによってできる領域の数+1を求めよ(国と海の数を求めよ)解法: 平面グラフの国の数 s は辺の数をe,ノードの数をvとすると s = e - v + 1 とな…

UVa 10938 : Flea circus

問題概要: 木とクエリーが与えられる クエリーは以下の形式で与えられる a b a,bはそれぞれ木のノード番号を表す それらのノードにはノミが存在し、以下の条件を満たしながらお互い引き合うように移動する 1回の移動で以下の条件を満たした上で隣接するノー…

UVa 437 : The Tower of Babylon

問題リンク:The Tower of Babylon問題概要: x*y*zの長方形がn個(nは30以下)与えられる 以下の条件を満たすとき長方形を別の長方形に載せることができる 条件:長方形の上にのせる長方形の横と縦の長さは下の長方形の横と縦の長さ未満でないといけないこ…