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

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

Codeforces Round #200 (Div. 2)

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

A. Magnets

ざっくりと大意

・タイトルと図とサンプルしか見てない。
・おそらく磁石が-+の向きなのと+-の向きなのを10,01で模していて同じ向き同士ならくっつくので1グループ。違う向きだとくっつかなくなって+1グループになる。

方針のようなもの

・現れる10,01が1つ手前と違った時だけグループ数を加算して、ひたすら10,01を受け取る。

n=input()
w=raw_input()
ans=1
for i in xrange(n-1):
    chk=raw_input()
    if chk!=w:
        ans+=1
    w=chk
print ans

B. Simple Molecules

ざっくりと大意

・1から出ている辺がa本、2から出ている辺がb本、3から出ている辺がc本な入力を与えられるので、1-2間の辺の数、2-3間の辺の数、3-1間の辺の数を出力する。

方針のようなもの

・いや、、、さっぱり計算方法わかんなかったのでeditional見た。
・出力する辺の数の合計は入力の辺の合計の1/2だよね!とか思ってたけど、それはそうだけど解法とはあんま関係がなかった。

x,y,z=map(int,raw_input().split())
imp='Impossible'
a1=y+z-x
b1=z+x-y
c1=y+x-z
if a1%2 or b1%2 or c1%2 or a1<0 or b1<0 or c1<0:
    print imp
else:
    print c1/2,a1/2,b1/2

解説が出てるがなんで内接円が出てきてるのかよくわからんので死ねる。。。
http://codeforces.com/blog/entry/8860