Codeforces Beta Round #32 (Div. 2, Codeforces format)
はい。
http://codeforces.com/contest/32
A. Reconnaissance
brute force
ざっくりと大意
・偵察兵は常に2人でペアでなければならない?
・n人の兵士でペアを作るのに差がd以下ならペア成立。
・(1,2)と(2,1)は違う組合せ扱い?
方針のようなもの
・とりあえずソートする。
・大きい方へだけ探していき差がd以内なら2を加算。dを越えたら中止。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math start = time.clock() ans=0 (n,d)=map(int, raw_input().split()) l=[int(x) for x in raw_input().split()] l.sort() for i in range(n): j=i while 1: j+=1 if j>n-1: break elif l[j]-l[i]>d: break elif l[j]-l[i]<=d: ans+=2 print ans
最初に書いた時は1つ先しか見てなかったけど2つ以上先にもd以内があり得る気がしたので書きなおした。Test3がそんなのだったので危なかった。。
B. Borze
expression parsing,implementation
ざっくりと大意
・BerlandではBorze alphabetの'.'と'-'を組合せて0〜2まで表す?
・0='.'、1='-.'、2='--'である。
方針のようなもの
・'.'の左に何も無ければ0確定、'-'が奇数個なら1確定かな?
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math start = time.clock() n=list(raw_input()) ans=[] while len(n): if n[0]=='.': ans.append('0') del n[0] elif n[0]=='-': if n[1]=='.': ans.append('1') del n[0] del n[0] else: ans.append('2') del n[0] del n[0] print ''.join(ans)
C. Flea
math
ざっくりと大意
・Berlandに生息のノミは垂直か水平にジャンプする。
・