6 条题解
-
0
#include using namespace std; int n, m, cx, cy; int main() { cin >> n >> m >> cx >> cy;
bool blocked[25][25] = {false}; blocked[cx][cy] = true; int dx[] = {2, 2, -2, -2, 1, 1, -1, -1}; int dy[] = {1, -1, 1, -1, 2, -2, 2, -2}; for (int i = 0; i < 8; ++i) { int nx = cx + dx[i]; int ny = cy + dy[i]; if (nx >= 0 && nx <= n && ny >= 0 && ny <= m) { blocked[nx][ny] = true; } } long long dp[25][25] = {0}; dp[0][0] = 1; for (int j = 1; j <= m; ++j) { if (!blocked[0][j]) { dp[0][j] = dp[0][j-1]; } } for (int i = 1; i <= n; ++i) { if (!blocked[i][0]) { dp[i][0] = dp[i-1][0]; } } for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { if (!blocked[i][j]) { dp[i][j] = dp[i-1][j] + dp[i][j-1]; } } } cout << dp[n][m] << endl;return 0; }
//supermonkey 布置的7891978作业(MAN)
信息
- ID
- 659
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 301
- 已通过
- 80
- 上传者