何とかそこそこの順位を取れた。
競プロ成分の少ないF・Jはここでは扱わないです。
http://yuha-c88.contest.atcoder.jp/tasks/yuha_c88_a
http://yuha-c88.contest.atcoder.jp/tasks/yuha_c88_b
A - エンド・オブ・ビギニング
N個の文章からなる暗号文が与えられる。各文章は[BEGINNING|MIDDLE|END] OF (文字列)の形式をとる。
この暗号文を解読せよ。
(文字列)部分の先頭/真ん中/末尾を1文字ずつ抜き出せばよい。
int N; string S,T,U; void solve() { int i,j,k,l,r,x,y; string s; cin>>N; FOR(i,N) { cin>>S>>T>>U; if(S[0]=='B') _P("%c",U[0]); if(S[0]=='M') _P("%c",U[U.size()/2]); if(S[0]=='E') _P("%c",U.back()); } _P("\n"); }
B - ハヌマーンの試練
N枚のコインを用いて2人のターン制ゲームを行う。
各人のターンでは1~3枚のコインを取る。
最後のコインを取った方が勝者となる。
両者が最適な戦略を取ったとき、先手後手どちらが勝つか。
典型的な石取り問題。
Nが4の倍数なら後手、それ以外は先手必勝である。
ll N; void solve() { int i,j,k,l,r,x,y; string s; cin>>N; if(N%4==0) cout<<"GO"<<endl; else cout<<"SEN"<<endl; }
まとめ
AがFA取れて良かった。