SRM 680 Div2 Easy, Medium
Easy(250): BearPair
問題
https://community.topcoder.com/stat?c=problem_statement&pm=14130
解法
全探索。
続きを読むSRM 679 Div2 Easy: ListeningSongs
問題
TopCoder Statistics - Problem Statement
2 つの音楽アルバム A, B について、曲の長さ(d1, d2)が与えられる(秒)。 曲の長さの合計が上限 minutes を超えないように各アルバムから曲を選ぶとき、選べる曲数の最大値を返す。 ただし、各アルバムからそれぞれ最低 T 曲選ばなければならない(A から T 曲, B から T 曲)。このような選び方がない場合は -1 を返す。
解法
結果が -1 の時の条件に注意してそのまま書く。d1, d2 をソートして先頭から T 個足したあと、新しい配列に足してない要素を突っ込んでソート、先頭から上限時間を超えないように選んでいくような処理を書いた。
続きを読むSRM 677 Div2 Easy: PalindromePrime
SRM は何回かやってたけど初めてコンテスト中に提出できました…(easy のみ)。
250: PalindromePrime
区間 [L, R] のうちで、素数かつ後ろから読んでも同じ(回分みたいになってる)整数をカウントする。 本番ではエラトステネスのふるいを書いたけど素数判定と回文判定だけすればいいらしい。
class PalindromePrime { public: // 回文かどうか bool is_r(int s) { stringstream ss; ss << s; string a = ss.str(); int n = a.size(); for(int i=0; i<n; i++) { if(a[i] != a[n - 1 - i]) return false; } return true; } bool is_prime(int n) { for(int i=2; i*i <= n; i++) if(n % i == 0) return false; return n != 1; } int count(int L, int R) { int ans = 0; for(int i = max(2, L); i <= R; i++) { if(is_prime(i) and is_r(i)) ans++; } return ans; } };
来年は本気を出して緑以上になりたい。
アイカツ画像をツイートするTwitter botを作った
https://twitter.com/aikatsu_image
#aikatsu pic.twitter.com/qp5oJG33Gx
— aikatsu_image (@aikatsu_image) January 30, 2016
アイカツの画像をツイートする bot です。所持してるアイカツ画像を PC に溜めておくのも宝の持ち腐れ感があったので作りました。
bot のプログラムは python で書いて、Windows のタスクスケジューラで実行させています。tweepy というモジュールを使うと数行で書けて凄い。Twitter API を使うのは面白そうなのでもう少し遊んでみたいと思った一瞬でした。
ところでデスクトップ PC 上で動かすと常時起動が必要なので Raspberry PI とかが欲しいですね。サーバーを借りるようなものでもないと思うので…。
追記(2015/12/19)
RasPI 上で動かすことにしました。cron が使えて便利です。あと省電力。
オタク Raspberry PI pic.twitter.com/D74rPAZJjV
— fushime2 (@fushime2) December 15, 2015