题解 P2252 【取石子游戏】
教练给我们讲了一道有多堆石子,让我们在某一堆添石子,保证先取的人获胜,然后让我们做这道,说差不多。
然而我发现一点关系都没有
好吧,上面都是在扯,这题核心在于一个叫威佐夫博弈的东西
现在要装逼敲黑板了
威佐夫博弈的重要结论是假设两堆石子为(x,y)(其中x<y)当且仅当 时那么先手必败
其实是没有-1这种情况的,单是输出1或0都能骗分
所以得出代码
var a,b,c:longint;
begin
readln(a,b);
if a>b then
begin
a:=a xor b;
b:=a xor b;
a:=a xor b; //保证a<b
end;
c:=b-a;
c:=trunc(c*(sqrt(5)+1)/2);
if c=a then writeln(0)
else writeln(1);//得出结论
end.