[恢]hdu 2516

2012-01-02 04:07:41

地址:http://acm.hdu.edu.cn/showproblem.php?pid=2516

题意:中文。

mark:完全不会。看了网上说打表看出规律似乎是Fibonacci。遂写代码。

wa了一次,因为[0...43]的数量我用二分的时候居然算成了43个。。。应该是44个的。

代码:

# include <stdio.h>
# include <stdlib.h>


int dp[50] = {2, 3} ;


int cmp(const void *a, const void *b)
{
return *(int*)a - *(int*)b ;
}


int main ()
{
int i, n ;
for (i = 2 ; i <= 43 ; i++)
dp[i] = dp[i-1] + dp[i-2] ;

while (~scanf ("%d", &n), n)
{
if (bsearch (&n, dp, 44, 4, cmp) == NULL)
puts ("First win") ;
else puts ("Second win") ;
}
return 0 ;
}



posted @ 2012-01-07 00:35  Seraph2012  阅读(132)  评论(0编辑  收藏  举报