結果
問題 | No.457 (^^*) |
ユーザー | yuppe19 😺 |
提出日時 | 2016-12-08 18:22:35 |
言語 | C++11 (gcc 11.4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 956 bytes |
コンパイル時間 | 364 ms |
コンパイル使用メモリ | 52,860 KB |
最終ジャッジ日時 | 2024-11-14 19:54:50 |
合計ジャッジ時間 | 847 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp:8:1: error: ‘vector’ does not name a type 8 | vector<vector<i64>> dp; | ^~~~~~ main.cpp: In function ‘i64 rec(int, int)’: main.cpp:13:14: error: ‘dp’ was not declared in this scope 13 | i64 &res = dp[i][state]; | ^~ main.cpp: In function ‘i64 f(std::string, std::string)’: main.cpp:28:3: error: ‘dp’ was not declared in this scope 28 | dp.assign(n+1, vector<i64>(6, -1)); | ^~ main.cpp:28:18: error: ‘vector’ was not declared in this scope 28 | dp.assign(n+1, vector<i64>(6, -1)); | ^~~~~~ main.cpp:3:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’? 2 | #include <algorithm> +++ |+#include <vector> 3 | using namespace std; main.cpp:28:28: error: expected primary-expression before ‘>’ token 28 | dp.assign(n+1, vector<i64>(6, -1)); | ^
ソースコード
#include <iostream> #include <algorithm> using namespace std; using i64 = unsigned long long; string s, emo; int n; vector<vector<i64>> dp; // i文字目を見てる。状態は state // パターン数を返す i64 rec(int i, int state) { i64 &res = dp[i][state]; if(res != -1) { return res; } if(i == n) { return res = state == 5; } res = rec(i+1, state); if(state == 0 && s[i] == emo[0]) { res += rec(i+1, 1); } else if(state == 1 && s[i] == emo[1]) { res = rec(i+1, 2); } else if(state == 2 && s[i] == emo[2]) { res = rec(i+1, 3); } else if(state == 3 && s[i] == emo[3]) { res = rec(i+1, 4); } else if(state == 4 && s[i] == emo[4]) { res += rec(i+1, 5); } return res; } i64 f(string s, string emo) { ::n = s.size(); ::emo = emo; dp.assign(n+1, vector<i64>(6, -1)); return rec(0, 0); } int main(void) { ::s; cin >> s; i64 r0 = f(s, "(^^*)"), r1 = f(s, "(*^^)"); printf("%lld %lld\n", r0, r1); return 0; }