はじめに
AtCoder Beginner Contest 404(ABC404)に参加しましたので報告します。
今回の概要
- A問題は解いたが、B問題は解けなかった
- C問題以降もダメだったので諦めた
- 成績は1問しか解いていない割に然程悪くない
A - Not Found
404といえばNot Found。ということで今回唯一のNot Found絡みの問題です。
ゴリ押しで解きましたが、解説でもゴリ押し解法が載っていました。
まあ$O(N^2)$といいつつNの最大値は精々26ですからねえ。
A.cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
string S, T="abcdefghijklmnopqrstuvwxyz";
cin >> S;
for (int i = 0; i < (int)T.size(); i++) {
bool is_found = false;
for (int j = 0; j < (int)S.size(); j++) {
if (S[j] == T[i]) is_found = true;
}
if (!is_found) {
cout << T[i] << endl;
return 0;
}
}
return 0;
}
B - Grid Rotation
B問題は一応、右90度回転する→ドット数を比較するでOKかなと思っていました。
解説を読むと、それほど遠くはなかったようです。
じゃあ何故できなかったかというと、右90度回転の仕方がわからなかったからです。
うーん、資料不足。
実際に回転させるコードを見ると、然程難しくないんですけどね。
C問題以降
C問題はあーUnion-Findかなあと思って見てました。
解説を見たら、深さ/幅優先検索やUnion-Findなどで解けるとのことでした。
どちらかというと誤回答に注意すべき問題だったようです。
D問題以降は相変わらず問題文も見てません。
レーティング変動
- パフォーマンス232(147は越えていたので一安心)
- レーティング54→74(+20)
今後の課題
基本的に前回から引き続きとなります。
- アルゴ数学本を問題を解きながら読む
- アルゴ式を進める(Python入門は終わりました。次は基礎)
- 高校数学を復習する
- A問題B問題が手早く解けるよう、引き続きAtCoder Daily Trainingに参加する
その他
A問題の公式解説に『→初心者の方へ』がありました。AtCoderやプログラミングに不慣れな方は読んでおくとよろしいかと存じます。
そう、「こんなんやってられるかー!」と投げる前に。