AtCoder Beginner Contest 008 復習

はい。
http://abc008.contest.atcoder.jp

A - アルバム

Python2

s,t=map(int,raw_input().split())
print t-s+1

t-s+1か、t-(s-1)とかの書き方があるような。S,Tの差分とS自身の1ページ含むのがわかっていれば式の書き方はこだわらなくても良い気がする。

B - 投票

Python2

n=input()
ans,cnt='',0
d={}
for i in range(n):
    s=raw_input()
    if s in d:
        d[s]+=1
    else:
        d[s]=1
    if  d[s]>cnt:
        cnt=d[s]
        ans=s
print ans

連想配列に入れながら回数が多いものをチェックしておけば入力受取後にそのまま解を出力できると思う。

C - コイン

Python2

import itertools

n=input()
l=[]
for i in range(n):
    l.append(input())

tmp=list(itertools.permutations(l))
ans=0
for i in tmp:
    c=0
    w=[1]*n
    while c<n:
        for j in range(c+1,n):
            if i[j]%i[c]==0:
                w[j]=w[j]^1
        c+=1
    ans+=w.count(1)
print ans*1.0/len(tmp)

部分点なら並び方を全列挙して、並び毎に先頭からひっくり返しをシミュすれば部分点。

D - 金塊ゲーム

難易度高すぎ回。あとで。