摘要:
阶梯博弈:n个阶梯上有n堆石头,把全部石子移动到地面,不能跨过阶梯移动,最后没的移动的输。奇数堆有影响,偶数无影响,偶数移动到奇数,另一个再把那部分奇数移动到另一个偶数,无影响。本题:有个坐标轴,有n个棋子,只能往左移动,不能跨过或覆盖棋子,最后没的移动的输。n为奇数,(num[n],num[n-1]),(num[n-1],num[n-2])...(num[n1],num[1]),(num[1],0);共有n对,可以看成n个阶梯,依次为1,2..n.他们之差绝对值-1则为石子数,偶数堆无影响.这里相当于num[n-1]往num[n-2]移动,此时第2堆石子减少,移动到第1堆了,因为(num[n 阅读全文
摘要:
给一个无向图,n个点,n-1条边,两个人博弈,棋子从k点出发,每人走一步不能往回走,最后没的走的输。输出第一个人能赢的情况下走的最小点。dfs搜出答案。只要有一个能赢就能赢,具体看代码AC代码:#include<stdio.h>#include<string.h>#define N 1010struct pro{ int v,next;} edge[N*3];int head[N],mark[N],min;int e,k;void init(){ memset(head,-1,sizeof(head)); memset(mark,0,sizeof(mark)); e=0 阅读全文