ここ最近の進捗を簡単に記録します.ここ1週間ほどは,AOJを少しずつ解いてました(といっても常人にですら遅いと言われるペース).あと昨日の昼に基本情報の公式の合否判定が出ましたが,残念なくらいの点数で落ちてました(49.80).せめて秋期は合格できるように頑張ります.
基本情報の勉強も勿論頑張るのですが,パソコン甲子園まで残り大体11〜12週ということもはっきりとしてきて,一旦PCKの練習をやることにしました.それで,最近は暇があればたいていはAOJを解きます.
解答状況
酷いです.遅いと言われて反論できないのがこのペースだからです.
- 5/12:1問
- 5/19:2問
- 5/20:2問
但し,5/20は記事を書いているのが朝なので,夜までに解いた問題があれば,追記します.解いた問題列挙します.
AOJ ITP1_6_B Finding Missing Cards
最初,全部のカードを代入させてから入力を入れて比較させればよいのでは?と考えて取り掛かったのですが,実装が無理臭いと感じたので直ぐ諦めました.最終的にはsolutionを見たのですが,ここまで考えて打って不正解の時間を1週間近く掛けたので,ひどい状況です(5/12日に解いたものではないです).5/12は何を解いたのかはもう忘れました...
AOJ ITP1_7_A Greading
ITP1_6も終わっていないのに手を付け始める悪癖のおかげで取り掛かりましたが,こちらは少し面倒だったくらいでなんとか自力で出せました.main関数内のみ記載.
int main(){ int m,f,r,su;while (cin >> m >> f >> r, !(m == -1 && f == -1 && r == -1)) { if (m == -1 || f == -1) { cout << "F" << endl; continue; } int sum = m + f; if (sum >= 80) { cout << "A" << endl; } else if (sum >= 65) { cout << "B" << endl; } else if (sum >= 50) { cout << "C" << endl; } else if (sum >= 30) { if (r >= 50) { cout << "C" << endl; } else { cout << "D" << endl; } } else { cout << "F" << endl; } } }
最初なんでテストケースの2つ目の最後がFじゃなくてDになるんだ,ってなって少し悩み,適当に試行錯誤してたらなりました(嘘です,if文何個も使いすぎたのが敗因かなと思って修正しました).
AOJ #10013 Print A Frame
適当に分岐させて描画するだけでおk.
AOJ #10015
ITP 1_6_Bと同じなので省略.