TopCoder SRM 513 DIV2
Rating: 926(緑)→951(緑)
System Test直前にこんな事を言ったら、本当にレーティングが上がってしまったので、このアイコンが一年間確定になってしまった。
というのは、主に僕がウケている内輪受けの話なので、別にどうで良い。
問題は前回から今回までの間にそれなりに過去問を解くなどして、うまくいけそうな感覚を得ていたにも関わらず、前回までと結果が大きく変わらなかったという事。まあ解いていたというのがDIV2Easyの過去問中心だし仕方がないといえば仕方がないのだが…
物事はそう甘くはないという事を思い知らされた。
211.43 Points
250: TrainingCamp
#include <iostream> #include <sstream> #include <string> #include <vector> using namespace std; class TrainingCamp { public: vector <string> determineSolvers(vector <string> attendance, vector <string> problemTopics) { vector<string> res(attendance.size(), string(problemTopics.size(), ' ')); for (int i = 0; i < attendance.size(); ++i) { /* i-th Student */ for (int j = 0; j < problemTopics.size(); ++j) { /* j-th Problem */ bool f = true; for (int k = 0; k < problemTopics[j].size(); ++k) { if (problemTopics[j][k] == 'X' && attendance[i][k] != 'X') { f = false; break; } } if (f) res[i][j] = 'X'; else res[i][j] = '-'; } } return res; } };
500: YetAnotherIncredibleMachine
手元でいろいろと解法を考えはしたのだが、結局のところ結論に辿り着けなかった。
複雑に考えすぎていた可能性があるが、実のところ今でもよく分かっていないので、あとで確認する。
1000: CutTheNumbers
解こうと思えば解けたと思うのだが、残り10分の所で開いたので最初から実装はしなかった。