PKU

PKU 3132 Sum of Different Primes

問題 Sum of Different Primes 解法 動的計画法の勉強。DPどうやって書くのか、検討つかん。諦めてDFSで書いてみた。引数、3つになる。減らそうと思ったけど減らせない。O(1120以下の素数の数\K\N)で実装できそうだと思ったけど、O(K\N)*の実装考えてた。 …

PKU 1007 DNA Sorting

問題 DNA Sorting 解法 ソートするだけの問題。 逆順になっている要素を数える。 コード int n, m; char c[64]; bool cmp(const string &a, const string &b){ int ac = 0, bc = 0; rep(i, a.size()){ REP(j, i, a.size()){ if(a[i] > a[j]) ac++; if(b[i] >…

PKU 1005 I Think I Need a Houseboat

問題 (http://poj.org/problem?id=1005)。翻訳されてます。 解法 (0,0)から家までの距離を求めて、円の半径がそれを超えたら浸食される。 コード double x, y, d; int N; int main(){ scanf("%d", &N); rep(i, N){ scanf("%lf%lf", &x, &y); d = sqrt(x*x+y*…

PKU 1002 487-3279

問題 (http://wikiwiki.jp/pku/?1002%20487-3279)。 解法 map使うと簡単、入力を全部数えていって、複数あるやつだけ表示させる。 cin使うとTLEになった コード int n; vector<string>s; char in[100]; int main(){ map<char, int>m; m['A'] = m['B'] = m['C'] = '2'; m['D'] = </char,></string>…

PKU 1003 Hangover

問題 Hangover。 日本語訳。 解法 カードを落とさないように重ねていくクイズみたいなの解いたことあったような気がする。 カードが1枚から一つずつ増やしていって、つ長さを超えるのか計算していきます。 コード double d; int main(){ while(scanf("%lf", …