30分求调
  • 板块P1605 迷宫
  • 楼主Hanxiaoyang
  • 当前回复8
  • 已保存回复8
  • 发布时间2024/8/20 13:13
  • 上次更新2024/8/20 15:36:03
查看原帖
30分求调
785583
Hanxiaoyang楼主2024/8/20 13:13
#include <bits/stdc++.h>

using namespace std;

int a[10][10];

int qi1,qi2,zhong1,zhong2,sum = 0;

int heng[4] = {1,0,-1,0};

int shu[4] = {0,1,0,-1};

void di(int s,int ss){

	if(s<qi1||ss<qi2||s>zhong1||ss>zhong2) 
    
    return;
    
	if(s == zhong1&&ss == zhong2){
    
		sum++;
        
		return;
        
	}
    
	if(a[s][ss] == 1) return;
    
	for(int i = 0;i<4;i++){
    
		a[s+heng[i]][ss+shu[i]] = 1;
        
		di(s+heng[i],ss+shu[i]);
        
		a[s+heng[i]][ss+shu[i]] = 0;
        
	}
    
}

int main(){

	int n,m,t;
    
	cin>>n>>m>>t;
    
	cin>>qi1>>qi2>>zhong1>>zhong2;
    
	for(int i = 0;i<t;i++){
    
		int aa,bb;
        
		cin>>aa>>bb;
        
		a[aa][bb] = 1;
        
	}
	di(qi1,qi2);
    
	cout<<sum;
    
	return 0;
    
}
2024/8/20 13:13
加载中...