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

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

Codeforces Round #401 (Div.2)

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

A. Shell Game

ざっくりと大意

・左から0,1,2でナンバリングした3つの貝殻の下にボールを1つ置く?
・n回入れ替える操作をしてx番目の位置にボールがあった時に開始はどこだったか?

Python3

n=int(input())%6
x=int(input())
ans=[(0,1,2),(1,0,2),(2,0,1),(2,1,0),(1,2,0),(0,2,1)]
print(ans[n].index(x))

なんか既に1年以上前のコードで何も覚えてない。0,1,2の貝殻の並びが6種類にまで絞れるので埋め込みのような感じでしたんだと思う。これくらいなら埋め込みでもforで回すのでもどっちでもいいのではないかなー、とおもいます。

B. Game of Credit Cards

ざっくりと大意

・問題文がめんどくさい。。

Python3

n=int(input())
a=input()
b=input()
ans=[n,0]
M,M2={},{}
for i in b:
    i=int(i)
    if i in M:
        M[i]+=1
    else:
        M[i]=1
for i in b:
    i=int(i)
    if i in M2:
        M2[i]+=1
    else:
        M2[i]=1

for i in a:
    i=int(i)
    for j in range(i,10):
        if j in M and M[j]>0:
            M[j]-=1
            ans[0]-=1
            break

for i in a:
    i=int(i)
    for j in range(i+1,10):
        if j in M2 and M2[j]>0:
            M2[j]-=1
            ans[1]+=1
            break
print(ans[0])
print(ans[1])

これ本当に私が解いたのか覚えてないんですけどバーチャで解いてるし写経とかせずに多分自力でやったはずです。問題文も当時は自力で解読してたはずです。。もっと詳しくはいつのかの更新で!!!