社区讨论
wa #3 #4,已开long long,求调
P1002[NOIP 2002 普及组] 过河卒参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @m1oqaxeb
- 此快照首次捕获于
- 2024/09/30 16:09 去年
- 此快照最后确认于
- 2025/11/04 18:28 4 个月前
CPP
#include <bits/stdc++.h>
#define int long long
using namespace std;
int ax = 0, ay = 0, bx, by, cx, cy, dp[25][25];
bool IsHorse(int x, int y)
{
return (cx - 1 == x && cy - 2 == y) ||
(cx - 2 == x && cy - 1 == y) ||
(cx - 2 == x && cy + 1 == y) ||
(cx - 1 == x && cy + 2 == y) ||
(cx + 1 == x && cy - 2 == y) ||
(cx + 2 == x && cy - 1 == y) ||
(cx + 2 == x && cy + 1 == y) ||
(cx + 1 == x && cy + 2 == y) ||
(cx == x && cy == y);
}
signed main()
{
cin >> by >> bx >> cy >> cx;
dp[0][0] = 1;
for(int i = 1; i <= bx; i++) dp[i][0] = 1;
for(int i = 1; i <= by; i++) dp[0][i] = 1;
for(int i = 1; i <= bx; i++)
{
for(int j = 1; j <= by; j++)
{
if(IsHorse(i, j)) continue;
else
{
dp[i][j] = dp[i - 1][j] * (!IsHorse(i - 1, j)) + dp[i][j - 1] * (!IsHorse(i, j - 1));
// printf("%d %d %d\n", i, j, dp[i][j]);
}
}
}
// for(int i = 0; i <= bx; i++)
// {
// for(int j = 0; j <= by; j++) printf("%d ", dp[i][j]);
// printf("\n");
// }
cout << dp[bx][by] << endl;
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...