雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

乘2—9的博弈——hdu1517

Posted on 2011-04-11 18:31  huhuuu  阅读(364)  评论(0编辑  收藏  举报
就是找必败态
>=162为p
(162/9)18——161为N  想要进入必败态你就赢了,所以范围大
(17/2)9——17为P   进入N必胜态你就输了,玩家没办法才要进入,所以范围小
(8/9)1——8为N
View Code
#include<stdio.h>
int main()
{
unsigned
int n;
while(scanf("%d",&n)!=EOF)
{
unsigned
int i=1,t=n,add;
while(t!=1)
{
if(i%2==1)
{
if(t%9>0)
add
=1;
else
add
=0;
t
=t/9;
t
+=add;
}
else
{
if(t%2>0)
add
=1;
else
add
=0;
t
=t/2;
t
+=add;
}
i
++;
}
if(i%2==0)
printf(
"Stan wins.\n");
else
printf(
"Ollie wins.\n");
}
}