社区讨论

求助大神们

P1002[NOIP 2002 普及组] 过河卒参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi4efsso
此快照首次捕获于
2025/11/18 17:56
4 个月前
此快照最后确认于
2025/11/18 17:56
4 个月前
查看原帖
为什么TLE
40分也是够了 别的平台都A掉了啊
CPP
#include<iostream>
using namespace std;
int m , n , ans = 0 , hx , hy;
int dx[9] = {0 , 1 , 2 , 2 , 1 , -1 , -2 , -2 , -1};
int dy[9] = {0 , 2 , 1 , -1 , -2 , 2 , 1 , -1 , -2};
bool choose(int x,int y)
{
    for(int i = 0;i < 9;i++)
        if(x + dx[i] == hx && y + dy[i] == hy)
            return false;
    return true;
}
void dfs(int x,int y)
{
    if(x == n && y == m) 
    {
        ans++;
        return;
    }
    if(x < n && choose(x + 1,y)) 
        dfs(x + 1,y);
    if(y < m && choose(x,y + 1)) 
        dfs(x,y + 1);
    return;
}
int main()
{
    cin >> n >> m >> hx >> hy;
    dfs(0 , 0);
    cout << ans << endl;
    return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...