输入两个整数n,m,( 0 < n,m<100000)每一次,第一个整数可以执行乘2,、减1、加1三种操 作的任意一种,求n到m至少要多少次这样的操作。
#include<stdlib.h>
#include<stdio.h>
struct list//用结构体表示每一个节点,用队列来实施bfs
{
long n;
int step;//表示步数
struct list *next;
};
int main()
{
long n,m,k;
struct list *p,*p1,*p2,*p3,*pm;
scanf("%ld %ld",&n,&m);
p=(struct list *)malloc(sizeof(struct list ));
p->n=n;
p->step=1;