这段代码的算法复杂度是多少?
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/21 16:18
  • 上次更新2024/8/21 19:07:14
查看原帖
这段代码的算法复杂度是多少?
973480
封禁用户楼主2024/8/21 16:18
#include<bits/stdc++.h>
using namespace std;
int fx[]={-2,-1,1,2};
int fy[]={1,2,2,1};
int a,b;
int k[10001];
bool f=false;
bool vis[10001][10001];
void dfs(int x,int y,int step,int fangwei){
	if(vis[x][y]) return;
	if(x<1||y<1||x>a||y>b) return;
	if(fangwei) k[step]=fangwei;
	vis[x][y]=1;
	if(x==a&&y==b){
		if(!f) for(int i=2;i<=step;i++) cout << k[i] << " ";
		f=true;
		return;
	}
	for(int i=0;i<4;i++){
		dfs(x+fx[i],y+fy[i],step+1,i+1);
	}
	vis[x][y]=0;
	return;
}
int main(){
	cin >> a >> b;
	dfs(1,1,1,0);
	if(!f) cout << -1;
	return 0;
}
2024/8/21 16:18
加载中...