在某OJ做到的题,求助!!
  • 板块灌水区
  • 楼主a_tall_bird
  • 当前回复18
  • 已保存回复18
  • 发布时间2024/3/4 18:56
  • 上次更新2024/3/4 20:56:25
查看原帖
在某OJ做到的题,求助!!
1074321
a_tall_bird楼主2024/3/4 18:56

题目传送

本蒟蒻的代码

#include<bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
int n,k,minn=INT_MAX;
bool a[500009];
void dfs(int step,int ceng){
	if(ceng==k){
		minn=min(minn,step);
		return ;
	}
	if(step>minn||ceng<0||ceng>100000)return ;
	if(ceng*2<=k&&a[ceng*2]==0){
		a[ceng*2]=1;
		dfs(step+1,ceng*2);
		a[ceng*2]=0;
	}
	if(ceng-1>=0&&a[ceng-1]==0){
		a[ceng-1]=1;
		dfs(step+1,ceng-1);
		a[ceng-1]=0;
	}
	if(a[ceng+1]==0&&ceng<=k){
		a[ceng+1]=1;
		dfs(step+1,ceng+1);
		a[ceng+1]=0;
	}
	
	
}
int main(){
	cin>>n>>k;
	dfs(0,n);
	cout<<minn;
}

超时两个点,怎么办?

2024/3/4 18:56
加载中...