Lucky Transformation (Codeforces 121B)

http://codeforces.com/problemset/problem/121/B

問題

n桁の数値dが与えられる。k回、1-originでdのx桁目が4でかつx+1桁目が7である最小のxの部分を探す。そのような箇所が見つかる度に、xが偶数の場合はx,x+1桁目を4に変え、奇数の場合は7に変える。最終的に出来上がる列を答えよ。
1<=n<=10^5
0<=k<=10^9

解法

基本的に左へ戻らないので前から順にやっていけば良い。唯一447で中央が偶数桁の時にループが発生するが、そのような場合はn%2回までスキップすれば良い。