带环的博弈and对称性

原创 2016年08月28日 20:37:05

题目:hdu3951

题意:有一圈硬币有n个。每个人每次可以拿连续的1到k个。谁先拿完谁赢。

解答:n<=k:先手赢

            k =1:看奇偶

           其他情况:!!!!!第一个拿完之后就变成了一条链。这时候第二个人把这条链分为相同长度的两个部分。然后先手拿啥他就对应的拿啥。

           因为:sg值一样的两个游戏处于必败状态。先手干什么后手就在另一个游戏上干什么,最后后手肯定胜利。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int n,k;
int main()
{
    int T;
    scanf("%d",&T);
    for(int i = 1;i <= T;i++)
    {
        int ans = 0;
        memset(vis,0,sizeof(vis));
        scanf("%d%d",&n,&k);
        printf("Case %d: ",i);
        if(n <= k)
            puts("first");
        else
        {
            if(k == 1)
                if(n % 2)
                puts("first");
                else
                puts("second");
            else
                puts("second");
        }
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

判断两个链表是否相交,若相交,求交点,考虑带环情况实现代码

梳理一下思路思路相当于求俩个链表的第一个公共结点,要么找到,要么为空,那么考虑到有链表可能有带环的情况,情况共分为下面三种: (1)、两个链表都带环 分别获取两个链表环的入口点 ...

7.微软亚院之编程判断俩个链表是否相交(为了简化问题,我们假设俩个链表均不带环)

问题: 微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。 为了简化问题,我们假设俩个链表均不带环。 答案: //2012...

bzoj 4883(带环外向树森林)

题意:在一个n * m的棋盘上要放置若干个守卫。对于n行来说,每行必须恰好放置一个横向守卫;同理对于m列来说,每列必须恰好放置一个纵向守卫。每个位置放置守卫的代价是不一样的,且每个位置最多只能放置一个...

链表面试题(十二)---判断两个都不带环的链表是否相交

一、结构体定义typedef int DataType;typedef struct ListNode//定义结点 { DataType data; struct ListNode* ...

判断单链表是否带环

//这个题思路不难,我们只要定义两个指针,一快一慢,快指针一次走两步,慢指针一次走一步 //如果它们相遇,则单链表构成了环形结构。 如果未相遇, 而快指针走到了链表结尾,则单链表未构成环形结构 #in...
  • ssopp24
  • ssopp24
  • 2017年07月08日 21:34
  • 542

带环单链表的问题

因为上一篇文章对这个问题讲解的很详细,这里只给个代码展示:(找出带环单链表的环的第一个节点) #include using namespace std; int length; struct N...

POJ3162------无向图不带环最长路加线段树(树上DP)

题目地址: http://poj.org/problem?id=3162 题目意思: 有N个点,分贝是1~N,然后要你求出每个点在这个图上的最长路 然后找一个连续的子序列,使得这个序列的最大值和最小...
  • dr5459
  • dr5459
  • 2013年07月04日 23:44
  • 1154

《C语言实现链表相交、带环问题》

例题://1.判断单链表是否带环?若带环,求环的长度?求环的入口点? //2.判断两个链表是否相交,若相交,求交点。(假设链表不带环) //3.判断两个链表是否相交,若相交,求交点。(假设链表可能带环...

面试题----判断两个链表是否相交(可能带环)

判断两个链表是否相交(可能带环):这个问题我们可以根据是否带环来分三种情况,情况一:两个链表都不带环;   情况二:其中有一个链表带环;   情况三:两个链表都带环。 下面我用一张图片来进行更详细的分...

判断两链表是否相交,若相交求交点(链表可能带环)

链表不带环相交求交点思路 链表可能带环相交求交点思路
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:带环的博弈and对称性
举报原因:
原因补充:

(最多只允许输入30个字)