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

アイカツの画像をツイートする bot です。所持してるアイカツ画像を PC に溜めておくのも宝の持ち腐れ感があったので作りました。

bot のプログラムは python で書いて、Windows のタスクスケジューラで実行させています。tweepy というモジュールを使うと数行で書けて凄い。Twitter API を使うのは面白そうなのでもう少し遊んでみたいと思った一瞬でした。

ところでデスクトップ PC 上で動かすと常時起動が必要なので Raspberry PI とかが欲しいですね。サーバーを借りるようなものでもないと思うので…。

追記(2015/12/19)

RasPI 上で動かすことにしました。cron が使えて便利です。あと省電力。

AOJ0030: Sum of Integers 

Sum of Integers | Aizu Online Judge
深さ優先探索の問題。C++ で書いたものを Python に翻訳して分かった気になるアレ。

#!/usr/bin/env python

def dfs(pos, t, sum):
    global cnt
    if t == n:
        if sum == s:
            cnt += 1
        return
    if pos > 9:
        return
 
    dfs(pos+1, t, sum)
    dfs(pos+1, t+1, sum + pos)
 
 
while True:
    n, s = map(int, raw_input().split())
    if n==0 and s==0: break
 
    cnt = 0
    dfs(0, 0, 0)
    print cnt

蟻本の DFS の説明の理解に時間がかかったし、遷移の仕方が直感的にわからないから演習を詰むしかなさそう。
DP でも解けるらしいけどもっとわからん。

アイカツ!が遊べるお店の全国地図をGoogleMapで公開した

追記(2016/06/02)

この記事は古いです。2016/06 現在、以下の地図は「スターズ!」には非対応となっています。スクリプトも動きません。

ここで、別の見やすいマップを見つけたので勝手にリンクしておきます。

アイカツスターズ! 遊べるおみせ を地図に表示

 (追記終了)

 

追記(2017/01/22)

地図とスクリプトを更新しました。スターズに対応しています。

(追記終了)

 

作ったもの

f:id:fushime2:20150510214320j:plain

アイカツ! 遊べるお店全国マップ

 

アイカツ公式のあそべるお店ページでは個々の店舗の情報しか分からないため、GoogleMap に店舗情報をプロットしたものを公開した。GoogleMap に適用させるために、店名と住所を取得して CSV に出力するスクリプトPython で書いたので、Github に置いておく。以下ソース。

続きを読む