ないものは作りましょう。

色々なことに挑戦(主にプログラミング)

Google Code Jam 2015 Round1Bに参加しました

f:id:IJMP320:20150503134413p:plain
A-smallしか解けませんでした。
Round1Cこそ頑張って突破したいです。(自信なくなってきた)

Problem A 「Counter Culture」 ※small解法

全探索で計算しておきその結果を返します。

int a[1000001];
int main() {
    REP(i,1000001) a[i]=INF;
    REP(i,21) {
        a[i]=i;
    }
    FOR(i,1,1000000) {
        string s = IntToString(i);
        reverse(ALL(s));
        a[i+1] = min(a[i+1],a[i]+1);
        int t = atoi(s.c_str());
        a[t] = min(a[t], a[i]+1);
    }

    int T;
    cin >> T;
    REP(t,T) {
        ll N;
        cin >> N;
        printf("Case #%d: %d\n",t+1,a[N]);
    }
    return 0;
}