1605 30分wa
  • 板块灌水区
  • 楼主maxiaoteng2021
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/6/11 20:49
  • 上次更新2023/10/27 23:30:56
查看原帖
1605 30分wa
615196
maxiaoteng2021楼主2022/6/11 20:49

又是我这个蒟蒻 这次1605又双叒叕把我卡住了:-( 30分求助!!!

#include<bits/stdc++.h>
using namespace std;
#define loop(i, a, b, x) for(int i = a; i <= b; i += x)
int mp[6][6], vis[6][6];
int dx[4]= {0,1,0,-1};
int dy[4]= {1,0,-1,0};
int n, m, t, sx, sy, fx, fy, tmpx, tmpy, sum = 0;
void dfs(int x, int y) {
	if(x == fx && y == fy) {
		sum ++ ;
		return;
	} else {
		vis[x][y] = 1;
		for(int i = 0; i < 4; ++ i) {
			
			if(mp[x+dx[i]][y+dy[i]] == 0 && vis[x][y] == 0) {
				
				dfs(x+dx[i],y+dy[i]);
				
			}
		}vis[x][y] = 0;
	}



}
int main() {
	memset(mp, 0, sizeof(mp));
	cin >> n >> m >> t;
	cin >> sx >> sy >> fx >> fy;
	loop(i, 1, t, 1) {
		cin >> tmpx >> tmpy;
		mp[tmpx][tmpy] = 1;
	}
	dfs(sx, sy);
	cout << sum;
	return 0;
}

感谢回答

2022/6/11 20:49
加载中...