备忘录:IDA*
点击查看代码
#include<bits/stdc++.h>
using namespace std;
//#define int long long
const int B= --最远路径长度--;
int C;
int nxt;
int n;
int h(int x){
--估价--
}
int flag=0;
int A_(int x,int d);
int ins(int x,int d){
if(flag==1){
return 1;
}
int res;
for(int i= --枚举每种可以由x到达的状态-- ){
res=res|A_(i,d+1);
}
return res;
}
int A_(int x,int d){
if(flag==1){
return 1;
}
int H=h(x);
if(d+H>C){
nxt=min(nxt,d+H);
return 0;
}
if(H==0){
flag=1;
return 1;
}
return ins(x,d);
}
int mian()
{
flag=0;
C=0;
nxt=B;
int s= ;
n= ;
while(!A_(s,0)){
C=nxt;
nxt=B;
if(C>=B){
break;
}
}
return 0;
}
posted on 2025-10-15 18:00 MagicalGirl_LH 阅读(0) 评论(0) 收藏 举报