Codeforces Round #166 (Div.2)
はい。
http://codeforces.com/contest/271
A. Beautiful Year
ざっくりと大意
・yより大きくてどの桁にも重複した数字がない最小のものはいくつか?
方針のようなもの
・1ずつ足す。やや区間が長いトコもあるけど今回の制限でなら問題なし。
n=int(raw_input()) while 1: n+=1 chk=str(n) if len(set(list(chk)))>=4: print n break
B. Prime Matrix
ざっくりと大意
・n*mの行列でドコの行/列でもいいので素数だけにしたい
・行/列の中の数の1つに対して1を足すと1手となる。最小の手数は幾つか?
方針のようなもの
・全部はさすがに間に合わなかった。。後で考える。
n,m=map(int,raw_input().split()) p=[] for i in xrange(n): p.append([int(x) for x in raw_input().split()]) def prime_t(t): i=2 while i**2<=t: if t%i==0: return 0 i+=1 return 1 l=[] for i in range(2,100003): if prime_t(i): l.append(i) #print l ans=100003*501 for i in xrange(n): chk=0 for j in xrange(m): k=p[i][j] while 1: if k in l: break else: k+=1 chk+=1 if chk>ans: break ans=min(ans,chk) for i in xrange(m): chk=0 for j in xrange(n): k=p[j][i] while 1: if k in l: break else: k+=1 chk+=1 if chk>ans: break ans=min(ans,chk) print ans