Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;const int MOD = (int)1e9 + 7;const int N = 305;int dp[N][N][N];void add(int &x, const int& a) {x = x + a;if (x >= MOD)x -= MOD;}int main(){int n, x;scanf("%d %d", &n, &x);memset(dp, 0, sizeof(dp));dp[0][0][0] = 1;for (int i = 0; i <= n; ++i) {for (int j = 0; j <= n; ++j) {for (int k = 0; k <= i; ++k) {if (dp[i][j][k] == 0)continue;int t = dp[i][j][k];add(dp[i + 2][j][k + 2], t);add(dp[i + 1][j + 1][k], t);if (k == 0)