深搜代码出现MLE求助
  • 板块灌水区
  • 楼主Tis员工
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/7/13 19:50
  • 上次更新2023/11/3 10:02:33
查看原帖
深搜代码出现MLE求助
430920
Tis员工楼主2023/7/13 19:50

rt.题目https://www.luogu.com.cn/problem/P2895

我没写完。但是它MLE了很奇怪qwq

#include<bits/stdc++.h>
using namespace std;
inline int read(){
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	return x*f;
}
//next_permutation(a+1,a+1+n);
int a[305][305],m,x,y,k,ans=114514;
bool p[305][305];
void dfs(int t,int x,int y){
	p[x][y]=1;
	if(a[x][y]==114514){
		ans=min(ans,t);return;
	}
	if(x-1<=300)dfs(t+1,x+1,y);
	if(x-1>=0)dfs(t+1,x-1,y);
	if(y-1<=300)dfs(t+1,x,y+1);
	if(y-1>=0)dfs(t+1,x,y-1);
	p[x][y]=0;
}
int main()
{
    //freopen(".in","r",stdin);freopen(".out","w",stdout);
    //ios::sync_with_stdio(false);
    m=read();for(int i=0;i<=300;i++)for(int j=0;j<=300;j++)a[i][j]=114514;
    for(int i=1;i<=m;i++){
    	x=read();y=read();k=read();
    	a[x+1][y]=min(a[x+1][y],k);if(x-1>=0)a[x-1][y]=min(a[x-1][y],k);
    	a[x][y]=min(a[x][y],k);
    	a[x][y+1]=min(a[x][y+1],k);if(y-1>=0)a[x][y-1]=min(a[x][y-1],k);
	}
	dfs(0,0,0);
	cout<<ans;
	return 0;
}
2023/7/13 19:50
加载中...