社区讨论

样例过了,但全wa

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

讨论操作

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

当前回复
6 条
当前快照
1 份
快照标识符
@mdtmfdvz
此快照首次捕获于
2025/08/02 10:16
7 个月前
此快照最后确认于
2025/11/04 03:20
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 5000
int ex,ey,x,y,sum;
int vis[N][N];
int dx[4] = {1,0};
int dy[4] = {0,1};
void dfs(int sx,int sy){
	if(sx == ex && sy == ey){
		sum++;
		return;
	}
	for(int i = 0;i<2;i++){
		int nx = dx[i]+sx;
		int ny = dy[i]+sy;
		if(nx >= 0 && ny >= 0 && nx <= 8 && ny <= 8 && !vis[nx][ny]){
			vis[nx][ny] = 1;
			dfs(nx,ny);
			vis[nx][ny] = 0;
		}
	}
}
signed main() {
	cin>>ex>>ey>>x>>y;
	vis[x][y] = vis[x-2][y+1] = vis[x-1][y+2] = vis[x+1][y+2] = vis[x+2][y+1] = vis[x+2][y-1] = vis[x+1][y-2] = vis[x-1][y-2] = vis[x-2][y-1] = 1;
	dfs(0,0);
	cout<<sum;
	return 0;
}

回复

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

正在加载回复...