†灰 パ フ ォ†
やらかしましたね
灰色コーダなので引退します
— ボンド@競プロ (@bond_cmprog) 2020年3月14日
復活は20分後のこどふぉです
Bondo416さんのパナソニックプログラミングコンテスト2020での成績:4857位
パフォーマンス:294相当
レーティング:1310→1239 (-71) :(#AtCoder https://t.co/8uCk9zGTTJ
A - Kth Term
配列をコピペして出力する
提出コード
int main(){ cin.tie(0); ios::sync_with_stdio(false); int K; cin >> K; int v[32] ={1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51}; cout << v[K-1] << endl; }
B - Bishop
基本的には、HとWのどちらかが偶数なら
どちらも奇数なら
でいいけど、の時、初期地点から動けないので注意
全然気づけなかったので反省…
提出コード
int main(){ cin.tie(0); ios::sync_with_stdio(false); ll H, W; cin >> H >> W; if(H == 1 || W == 1) cout << 1 << endl; else if(H % 2 == 0 || W % 2 == 0) cout << (H * W) / 2; else cout << (H * W) / 2 + 1 << endl; }
C - Sqrt Inequality
見るからに計算誤差がやばそうなので頑張ってくれと言っている
とりあえず両辺を二乗してみると
を満たせばいい
√一個なら許されない?と思って出すも許されなかった(これで通る場合もあるっぽい)
あとは相加相乗平均とか変な方向に迷走してしまい終了
実はこれをもう一回二乗してあげると√が外れていい感じになる(それはそう…)
となるのでこれを満たすかどうかを確認すればいい
ただし、が負なら成り立たないので注意
提出コード
int main(){ cin.tie(0); ios::sync_with_stdio(false); ll a, b, c; cin >> a >> b >> c; if(c - a - b >= 0 && 4 * a * b < (c - b - a) * (c - b - a)) cout << "Yes" << endl; else cout << "No" << endl; }
D - String Equivalence
解説コードを見るまで問題文の意味が理解できませんでした(読解力さん…)
標準形を作る際には、今まで使った文字の中の最大+1までしか使えないので
dfsとかでその情報を渡しながら文字を作っていくといい
問題文をちゃんと理解さえすればそこまで難しくないので通したかったね
提出コード
int main(){ cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; auto dfs = [&](auto && self, string s, char mc) ->void{ if(s.size() == n) cout << s << endl; else{ for(char c='a';c<=mc;c++){ if(c == mc) self(self, s + c, char(mc+1)); else self(self, s + c, mc); } } }; string S = ""; dfs(dfs, S, 'a'); }
おわりに
コーナーケースにハマり、式変形でもハマって見事にやられてしまった
C解けなくてD見たけど焦ってたのもあって問題が理解できず結局Cと一緒に沈んでしまった
いい勉強になりました…
その後のこどふぉでたら+71でプラマイゼロになったのでよし(ほんまか?)