jzoj P2190 dis

来源:互联网 发布:mac帧ip类型数据长度 编辑:程序博客网 时间:2024/06/07 13:22

题目大意:
给出两个数a; b,每次操作可以把a + 1 或把a * 2
问至少多少次操作可以使得a = b

数据范围限制
• 对于30% 的数据,1 <= a <= b <= 100。
• 对于60% 的数据,1 <= a <= b <= 10^6。
• 对于100% 的数据,1 <= a <= b <= 10^9。

题解:
贪心+模拟:
我们可以通过B倒推到A,我们可以发现,每次如果B 可以 /2,即b mod 2=0那么/2很明显比-1 更优,然后模拟即可。注意判断B/2>=A

var    i,ans,a,b:longint;begin    assign(input,'dis.in'); reset(input);    assign(output,'dis.out');rewrite(output);    readln(a,b);    ans:=0;    while a<>b do    begin        inc(ans);        if (b mod 2=0) and (b div 2>=a)            then b:=b div 2            else b:=b-1;    end;    writeln(ans);    close(input); close(output);end.
原创粉丝点击