[恢]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 ;
}