社区讨论
50求助
P1605迷宫参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m4pa8qnq
- 此快照首次捕获于
- 2024/12/15 15:26 去年
- 此快照最后确认于
- 2024/12/15 18:25 去年
CPP
#include <bits/stdc++.h>
using namespace std ;
long long n , m , t , w , zdx , zdy , chx , chy , zx , zy ;
long long dx[4] { 1 , 0 , -1 , 0 } , dy[4] { 0 , 1 , 0 , -1 } ;
long long dt[15][15] ;
bool b[15][15] ;
struct wz {
long long x ;
long long y ;
} ;
wz xyb , chs ;
bool in ( long long xx , long long yy ) {
return xx >= 1 && xx <= n && yy >= 1 && yy <= m ;
}
void dfs ( wz xz ) {
if ( xz.x == zdx && xz.y == zdy ) {
w++ ;
return ;
}
for ( int i = 0 ; i < 4 ; i++ ) {
xyb.x = xz.x + dx[i] ;
xyb.y = xz.y + dy[i] ;
if ( in( xyb.x , xyb.y ) && dt[xyb.x][xyb.y] == 0 && b[xyb.x][xyb.y] == 0 ) {
b[xyb.x][xyb.y] = 1 ;
dfs(xyb) ;
b[xyb.x][xyb.y] = 0 ;
}
}
return ;
}
int main () {
ios::sync_with_stdio(0) ;
cin.tie(0) ;
cout.tie(0) ;
cin >> n >> m >> t ;
cin >> chx >> chy >> zdx >> zdy ;
for ( int i = 1 ; i <= t ; i++ ) {
cin >> zx >> zy ;
dt[zx][zy] = 1 ;
}
b[chx][chy] = 1 ;
chs.x = chx ;
chs.y = chy ;
dfs(chs) ;
cout << w ;
return 0 ;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...