题目来源:HDU 1527 取石子游戏 题意:中文 思路:威佐夫博弈 必败态为 (a,b ) ai + i = bi ai = i*(1+sqrt(5.0)+1)/2 这题就求出i然后带人i和i+1判断是否成立 以下转自网上某总结 有公式ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,…,n 方括号表示取整函数) 其中出现了黄金分割数(1+√5)/
#include<iostream>using namespace std;int main(){ int n; int i,j; int a[100+5]; int ans,tmp,cnt; while(cin>>n&&n) { for(i=0;i<n;i++) cin>>a[i]; ans=a[0]; for(i=1
题目链接:hdu 4642 Fliping game 代码 #include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main () {int cas, n, m, x;scanf("%d", &cas);while (cas--) {scanf("%d%d", &n, &m);for (i
最近,CSDN上的在线编程比赛中,有一道题目《单词博弈》。这道题目是一个很好的可以使用搜索来解决的例子。 题目详情本第一次在线编程大赛由文思海辉冠名,题目如下:甲乙两个人用一个英语单词玩游戏。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的(按字典序a < b < c <....<z),则这个人胜利。两个人都足够聪明(即如果有赢的方案,都
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2591 Accepted Submission(s): 1253 Problem Description 有两堆石子,数量任意,可以不同。游戏开始由两
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4486 Accepted Submission(s): 2939 Problem Description 十年前读大学的时候,中国每年都要从
Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3055 Accepted Submission(s): 1771 Problem Descript
题目链接:P5652 基础博弈练习题 算法分析 题目很有思考价值。博弈论的题目大多需要绕来绕去。 题意中,如果一方走到了 i i i,那么另一方只能在区间 [ i , m a x ( i + m , n ) ] [i, max(i+m,n)] [i,max(i+m,n)]之间走。假设序列b长度为1,此时该列为偶数的话,先手必胜;否则,先手必败。如果序列b长度为2,很容易想到,假设最后一列长度