自我感觉没错
#include<iostream>
using namespace std;
int front,rear,A,B;
bool f[1005];
int date[7] = {0,1,-1,5,-5,10,-10};
struct node{
int x,s;
}q[1000500];
int bfs();
int main(){
cin>>A>>B;
cout<<bfs()<<endl;
return 0;
}
int bfs(){
front = 1,rear = 1;
q[1].x = A;
q[1].s = 0;
f[A] = 1;
while(front <= rear){
if(q[front].x == B) return q[front].s;
for(int i = 1;i <= 6; ++i){
int t = q[front].x + date[i];
if(t < 0 || f[t] || t > 41) continue;
q[++rear].x = t;
q[rear].s = ++q[front].s;
f[t] = 1;
}
++front;
}
}