70分求助!!!
查看原帖
70分求助!!!
640477
biophitma_wby楼主2022/8/4 19:56
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cstdio>
using namespace std;
int n,m,t;
int sx,sy,fx,fy;
bool s[10][10];
int sum=0;
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
void dfs(int x,int y){
	if(x==fx&&y==fy){
		sum++;
		cout<<"NO."<<sum<<endl; 
		for(int i=1;i<=m;i++){
			for(int j=1;j<=m;j++){
				cout<<s[i][j]<<" ";
			}
			cout<<endl;
		}
	}else{
		for(int i=0;i<4;i++){
			int nx=x+dx[i],ny=y+dy[i];
			if(s[nx][ny]==false&&nx>=1&&nx<=n&&ny>=1&&ny<=m){
				s[nx][ny]=true;
				dfs(nx,ny);
				s[nx][ny]=false;
			}
		}
	}
}
int main(){
	cin>>n>>m>>t;
	cin>>sx>>sy>>fx>>fy;
	for(int i=1;i<=t;i++){
		int a,b;
		cin>>a>>b;
		s[a][b]=true;
	}
	dfs(sx,sy);
	cout<<sum;
    return 0;
}

2022/8/4 19:56
加载中...