Rockethonは不参加。
Aは極端に難易度低いし、ここで取り上げなくてもいいかなと思ったけど一応。
http://codeforces.com/contest/513/problem/A
問題
先手はN1個、後手はN2個のボールを持っている。
先手は1ターンに1~K1個のいずれか、後手は1ターンに1~K2個のいずれかを手持ちのボールから投げ捨てる。
先にこれ以上行動できなくなった方の負けである。
互いに最適手を取った場合勝者はどちらか。
解法
どちらも長いターン数粘りたいので、1ターンに1個ずつ投げるのが最適。
よってN1>N2なら先手勝利、N1≦N2なら後手勝利。
int N[2],K[2]; void solve() { int i,j,k,l,r,x,y; string s; cin>>N[0]>>N[1]>>K[0]>>K[1]; if(N[0]>N[1]) _P("First\n"); else _P("Second\n"); }
まとめ
考察が済めば実装は簡単。