社区讨论

P1002 60分求条

灌水区参与者 5已保存回复 4

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@mhk7ldbw
此快照首次捕获于
2025/11/04 14:49
4 个月前
此快照最后确认于
2025/11/04 14:49
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y, sum;
bool a[21][21]={0}; 
void dfs(int x,int y){
	for(int i=1;i<=2;i++){ 
		if(x<=n&&y<=m&&a[x][y]==0){
			int oldx=x,oldy=y;
			if(i==1) x++;
			if(i==2) y++;
			if(x==n&&y==m) sum++;
			else dfs(x,y);
			x=oldx,y=oldy; 
		}
	}
}
 
int main(){
	cin>>n>>m>>x>>y;
	a[x][y]=1;
	if(x+2<=n&&y+1<=m) a[x+2][y+1]=1;
	if(x+1<=n&&y+2<=m) a[x+1][y+2]=1;
	if(x-1>=0&&y+2<=m) a[x-1][y+2]=1;
	if(x-2>=0&&y+1<=m) a[x-2][y+1]=1;
	if(x-2>=0&&y-1>=0) a[x-2][y-1]=1;
	if(x-1>=0&&y-2>=0) a[x-1][y-2]=1;
	if(x+1<=n&&y-2>=0) a[x+1][y-2]=1;
	if(x+2<=n&&y-1>=0) a[x+2][y-1]=1;
	dfs(0,0); 
	cout<<sum;
	return 0;
} 

回复

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

正在加载回复...