読者です 読者をやめる 読者になる 読者になる

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Round #262 (Div. 2)

はい。
http://codeforces.com/contest/460

A. Vasya and Socks

ざっくりと大意

・Vasyaはn足の靴下を持っていて学校にいく前に履いて行って夕方に脱ぎ捨てる。
・m日置きの夜に母が1足の靴下を補充する。
・何日目の夜に次の日のための靴下が無くなるか??

方針のようなもの

・シミュレートする。

n,m=map(int,raw_input().split())
ans=chk=0
i=1
x=n
while 1:
    x-=1
    if i%m==0:
        x+=1
    if x==0:
        print i
        break
    i+=1

一日の出来事の順番通りに書く。朝には靴下を使って、夜にmの倍数の日なら1足補充される。夜に0足で補充されず次の日の分がなかったら今が何日目か出力。次の日の分があれば眠ってまた朝に靴下を使ってを繰り返す。

B. Little Dima and Equation

ざっくりと大意

・0<=x<=109の範囲のxで x=b*s(x)a+cの式が成立するxを列挙する、xがなかったら0を出力。
・s(x)とはxの各桁を足した総和の数である。

方針のようなもの

・b*s(x)a+cからxを作って試す。

a,b,c=map(int,raw_input().split())
ans=set()
sx=1
while sx<82:
    x=b*(sx**a)+c
    if 0<x<1000000000:
        dg=str(x)
        q=0
        for j in dg:
            q+=int(j)
        if q==sx:
            ans.add(x)
    sx+=1
ans=list(ans)
ans.sort()
print len(ans)
if len(ans):
    print ' '.join(map(str,ans))

0<x<109で対象が非常に大きいようでs(x)の方が1から81の範囲に収まるのでb*s(x)a+cからxを作って0<x<109かつxの各桁の総和がs(x)と等しければ成立になる。