B. Bear and Compressing:题目
纯纯暴力DFS,和dp有啥关系!不想写了,copy一份,写的真精简。
#include <bits/stdc++.h>
using namespace std;
int n, m;
string a[40], b[40];
int f[10][10][2];int dfs(int pos, int pre, int flag) {if (!pos)return flag;if (f[pos][pre][flag] != -1)return f[pos][pre][flag];int res = 0;for (int i = 0; i < m; ++i) {res += dfs(pos - 1, a[i][0] - 'a', flag && (b[i][0] - 'a' == pre));}f[pos][pre][flag] = res;return res;
}
int main() {cin >> n >> m;for (int i = 0; i < m; ++i)cin >> a[i] >> b[i];memset(f, -1, sizeof f);cout << dfs(n - 1, 0, 1) << endl;return 0;
}
明天开始1400分内容了,冲