

分析
显然搜索题,但是范围是两百,不能每个点都递归,参照之前的题,会出现一些能递归的关键点。
我们先对于每个点上下左右走到头,求出每个点对应的下一个关键点,然后从起点开始递归,对于每个点记录有没有“走过”,和有没有递归过,然后到达每个点都去找关键点就行。
上代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,m,cnt,ans;
int a[210][210],key[210][210][5],p[210][210],v[210][210];
int dx[5]={
0,-1,1,0,0};
int dy[5]={
0,0,0,-1,1};
void dfs(int x,int y)
{
for(int i

802

被折叠的 条评论
为什么被折叠?



