该文被密码保护。 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188好久以前看到过这种类似的题,当时不懂,今天看了一下博弈入门。。。然后就把这题顺利的切掉了。。。就是传说中的巴什博奕(BashGame)。巴什博奕(BashGame):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1725思路:几天前看到过这道题,当时没什么想法,今天心血来潮,就想尝试一下,1Y...orz...一开始先打个表,把13以内的阶乘都算出来,然后二分查找,二分查找的时候如果没有找到相等的,返回的位置是后一个。。。这样循环就可以了。View Code 1 #include 2 using namespace std; 3 int facs[13]={0,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600};//打表找出前12个的. 阅读全文