社区讨论

求助

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mi6hcxsj
此快照首次捕获于
2025/11/20 04:54
4 个月前
此快照最后确认于
2025/11/20 04:54
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int dx[9]={1,1,2,2,-1,-1,-2,-2,0};
int dy[9]={2,-2,1,-1,2,-2,1,-1,0};
int dxx[2]={1,0};
int dyy[2]={0,1};
int m,n,a,b,ans=0;
int t=1,w=1;
int duix[100000];
int duiy[100000];
int qp[1005][1005];
void bfs(int x,int y)
{
    if(x==m&&y==n)ans++;
    for(int i=1;i<=2;i++)
    {
        if(qp[x+dxx[i]][y+dyy[i]]==1)
        {
            duix[w++]=x+dxx[i];
            duiy[w]=y+dyy[i];
        }
    } 
    t++;
    bfs(duix[t],duiy[t]);
}
int main()
{
    cin>>m>>n>>a>>b;
    for(int i=0;i<m;i++)
        for(int j=0;j<n;j++)
        {
            qp[i][j]=1;
        }
    for(int i=1;i<=9;i++)
    {
        qp[a+dx[i]][b+dy[i]]=0;
    } 
    bfs(0,0);
    cout<<ans;
    return 0;
}

回复

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

正在加载回复...