こんにちは、even_ekoです。
昨日ようやく、なめらかな曲線を描くアルゴリズムを発見しました。
大変でしたが、曲線がスルスルと描けた時は感動ものです。
しかし、また壁にぶつかってしまいました。今度は、アルゴリズムの問題ではなくOpenGLESの知識不足からくる問題です。
本と格闘しながら、解決策を見つけていきたいです。
さて、今日も前回、前々回に続きAtCoder Regular ContestのA問題の解答です。
#005のA問題
#include <iostream> #include <string> #include <vector> int main(int argc, constchar * argv[]) { int N; int count=0; std::cin >> N; std::vector <std::string> str; str.resize(N); for (int i=0; i<N; i++) { std::cin >> str[i]; if (i == N-1) { str[i].erase(str[i].length()-1); } if (!(str[i].compare("TAKAHASHIKUN"))) count++; if (!(str[i].compare("Takahashikun"))) count++; if (!(str[i].compare("takahashikun"))) count++; } std::cout << count << '\n'; return0; }
#006のA問題
#include <iostream> int main(int argc, constchar * argv[]) { int E[6]; int B; int L[6]; bool bonus = false; int count = 0; for (int i=0; i<6; i++) { std::cin >> E[i]; } std::cin >> B; for (int i=0; i<6; i++) { std::cin >> L[i]; } for (int i=0; i<6; i++) { if (L[i] == B) bonus = true; for (int j=0; j<6; j++) { if (E[i]<L[j]) break; if (E[i] == L[j]) count++; } } switch (count) { case6: std::cout << "1\n"; break; case5: if (bonus) { std::cout << "2\n"; } else { std::cout << "3\n"; } break; case4: std::cout << "4\n"; break; case3: std::cout << "5\n"; break; default: std::cout << "0\n"; break; } return0; }