Misere Nim (LightOJ - 1253,最后取石子输的 Nim 博弈)

FreeCAD源码分析:Sketcher模块 Sketcher模块基于Part模块功能实现了特征编辑(Feature Editing)建模的功能。这类参数化建模系统主要包括几何表示、约束求解器等两大组成部分。 阅读详情

一.题目链接:

LightOJ-1253

二.题目大意:

规则和 Nim 博弈相似,只不过规定最后一名取石子的人输.

三.分析:

当所有石子堆均为 1 时,只需看 n 的奇偶性.

当 n 为奇数时,先手必输.

否则,后手必输.

在其余状态中,与 Nim 博弈一样

因为只是两名玩家的选择策略产生了变化

使自己拿最后一个 -> 使别人拿最后一个

四.代码实现:

#include <set>
#include <map>
#include <ctime>
#include <queue>
#include <cmath>
#include <stack>
#include <vector>
#include <cstdio>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define eps 1e-6
#define pi acos(-1.0)
#define ll long long int
using namespace std;

int main()
{
    int T;
    scanf("%d", &T);
    for(int ca = 1; ca <= T; ++ca)
    {
        int n;
        scanf("%d", &n);
        int ans = 0;
        bool flag = 1;
        for(int i = 0; i < n; ++i)
        {
            int data;
            scanf("%d", &data);
            if(data != 1)
                flag = 0;
            ans ^= data;
        }
        printf("Case %d: ", ca);
        if(flag)
        {
            if(n & 1)
                printf("Bob\n");
            else
                printf("Alice\n");
            continue;
        }
        if(ans)
            printf("Alice\n");
        else
            printf("Bob\n");
    }
    return 0;
}

 

Labview如何0基础自学快速入门?(纯干货帖) 讲解了如何学习Labview,Labview如何0基础入门,自学Labview的方法。什么都不会如何学好Labview的分享,欢迎关注文章~文章提供《Labview宝典》pdf下载,和《Labview虚拟仪器数据采集与通信控制》pdf下载 阅读详情

相关推荐

SMPTE ST 2110 概论(一)

SMPTE ST 2110 概论(一)前言ST 2110与ST 2022-6ST 2110-10:基本结构与时序ST 2110-20:未压缩的视频流后续 前言 这是一份我在实习期间制作的,关于SMPTE ST 2110的简单介绍。 这篇文章主要以梳理总结 SMPTE ST 2110 的概念为主,关于具体的内容,比如IP数据报的格式、RTP时间戳的具体代码内容等等,大家可以查阅 SMPTE ST 2...

Cidd0422的博客 2万+

Misere Nim(反Nim)

题意:和最简单的NIM石子游戏一样,不过败北条件为拿走最后一个 首先和普通Nim游戏一样,当SG=0时 #include<iostream> #include<cstdio> using namespace std; const int maxn = 110; int arr[maxn]; int main() { int t; scanf("%d", &t); for (int k = 1; k <= t; k++) { int n, ans = 0

donnameの博客 549

TDSQL-单机安装

根据腾讯云官方要求,TDSQL安装至少需要三台机器。本人想要学习TDSQL但是没有足够的机器资源,经过仔细分析研究TDSQL安装过程,尝试发现单台机器也可以成功安装TDSQL,现将本人单台机器安装TDSQL的过程以及安装过程中遇到的问题在此分享。具体安装过程可参考腾讯官方文档,本文仅分享与官方文档不一致的步骤。

u012607648的博客 6809

Misere Nim

Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, each pile containing one or more stones. The players alternate turns and in each turn a player can...

dengcuoruan4618的博客 290

24位ADC的精度陷阱:为什么你的ADS1232实测性能不达标?

本文深入探讨了24位ADC芯片ADS1232在实际应用中性能不达标的原因,揭示了高精度ADC性能依赖周边电路设计的关键问题。通过分析电源系统、参考电压稳定性、PCB布局等常见陷阱,提供了优化方案和调试技巧,帮助工程师充分发挥ADS1232的潜力,实现接近理论值的测量精度。

weixin_28285943的博客 407

保姆级教程:用Ansys Workbench找出BGA焊点最容易坏的位置(附热循环+振动分析)

本文提供了一份详细的Ansys Workbench教程,指导如何通过热循环和振动分析找出BGA焊点最容易失效的位置。从模型搭建、材料定义到网格划分和载荷设置,全面解析了BGA焊点可靠性分析的全流程,帮助工程师提前预防焊点开裂问题,提升电子封装设计的可靠性。

weixin_30983965的博客 420

E - Misere Nim(反nim博弈,最后一手拿石子的输)

思路:一般的nim博弈大家都会吧,一般的就是取最后一枚石子的人赢; 先讨论 n 堆石子全部为1的情况: 当 n 为奇数时,先手一定输,后手一定赢 当 n 为偶数时,先手一定赢,后手一定输; 当 n堆 不全部为1的情况: 我们先看一般的nim博弈的必胜态:当前状态为必胜态,先手经最优策略 取过后,就到达必败态也就是平衡态,平衡态只能转移到不平衡态(必胜态),不平衡态经过 某一个途径 可以 转移...

qq_44293044的博客 868

YOLOv11涨点改进 | Conv篇/小目标改进 | YOLOv11引入SPDConv卷积特征无损下采样模块,增加YOLOv11小目标P2检测层(助力小目标任务高效涨点)

本文提出了一种创新的SPDConv模块来优化YOLOv11模型,通过空间到深度(SPD)层和非步幅卷积层实现特征无损下采样。该方法有效解决了传统CNN中因跨步卷积和池化层导致的细粒度信息丢失问题,特别提升了小目标检测性能。实验表明,SPDConv在目标检测和图像分类任务中显著优于现有SOTA模型。文章详细介绍了模块原理、核心代码实现,并提供了YOLOv11集成SPDConv的具体方法,包括配置文件修改和P2层增强等优化技巧。该技术为计算机视觉任务提供了一种高效的特征保留方案。

Ai缝合怪、助力小伙伴高效发论文 586

K - Misere Nim

题目: Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, each pile containing one or more stones. The players alternate turns and in each turn a player can...

titi2018815的博客 334

ComfyUI整合包、秋叶ComfyUI、Florence节点报错下载并加载Florence2模型No module named ‘timm.layers‘、ComfyUI报错解决

步骤操作1打开2地址栏输入cmd并回车3输入命令:4安装完成后重新打开 ComfyUI,执行工作流,即可解决报错。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1243

西门子PLC编程之⑦编程开始之点位配置及注释

紧接上篇,点位梳理后,进入PLC编程。1、新建工程,配置系统模块2、配置I点并做中文符合,直接上中文,smart支持中文点位编程,用起来很方便。3、配置Q点并做中文符合5、配置AIW模拟量输入点,配置AQW模拟量输出点并做中文符合6、配置手动启动辅助触点,并做中文符合7、 配置自动启动辅助触点,并做中文符合8、 配置传感器浮点型数据变量点位,并做中文符合9、配置系统运行参数设置区点位,做中午符合,做掉电保持.....................

学技术,人生不误——谁也是寂寞宇宙里的流星,只是你的坚持决定了你划过的痕迹。而且,铸造了普遍里的你的唯一。 4890

Misere Nim (Nim博弈)

Misere Nim (Nim博弈):http://acm.hust.edu.cn/vjudge/contest/view.action?cid=112620#problem/B 传送门:nefu 题面描述: Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status

而濡木染 2500

PCL点云DBSCAN聚类算法:基于密度的点云聚类

核心点是在给定半径内拥有足够多邻居点的点,边界点是在给定半径内没有足够多邻居点但是位于核心点的邻域内的点,噪声点是既不是核心点也不是边界点的点。本文将介绍PCL中的DBSCAN(基于密度的空间聚类应用噪声)算法,用于点云数据的聚类。上述示例代码首先从PCD文件中读取点云数据,并设置了DBSCAN聚类的参数,包括邻域搜索半径(epsilon)和邻域内最小点数(min_points)。需要注意的是,示例代码中的点云数据格式为pcl::PointXYZ,如果使用其他类型的点云数据,需要相应地修改代码。

LpmShell的博客 1239

java里nim游戏问题_使用Minimax算法的NIM游戏和AI玩家 - AI会失去动作

我已经完成了与人类玩家和AI玩家一起编写NIM游戏的任务 . 该游戏是“Misere”(最后一个必须选择一根棒) . 人工智能应该是使用Minimax算法,但它正在进行移动,使其失去更快,我无法弄清楚为什么 . 我已经连续几天走到了尽头 . Minimax算法的目的是不输,如果它处于失败状态,延迟失去尽可能多的动作,对吧?考虑以下:NIMBoard board =新的NIMBoard(34,2)...

weixin_42505102的博客 302

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LightOJ-1253 Misere Nim(Nim求解不正常的博弈)

Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, each pile containing one or more stones. The players alternate turns and in each turn a player can select one of the piles and can remove as many stones from t

yo_bc的博客 760

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ZZULIOJ--1253: 取石子游戏

时间限制: 1 Sec 内存限制: 128 MB 提交: 214 解决: 98 [状态] [提交] [命题人:admin] 题目描述 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最...

CoIorful的博客 859

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LightOJ-1253 【Nim博弈】取完最后一个石子输

Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, each pile containing one or more stones. The players alternate turns and in each turn a player can sele...

紫芝的博客 2187

Light OJ 1253 Misere Nim

尼姆博弈变形

代码改变世界 1257

Misere Nim LightOJ - 1253 (不一样的nim博弈)

Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, each pile containing one or more stones. The players alternate turns and in each turn a player can sele...

obsorb_knowledge的博客 607

LightOJ-1253 Misere Nim

LightOJ-1253 Misere Nim nim博弈的变形。 和一般nim博弈的区别:最后一个取石子的lose,输出win的人。 还是亦或求解, 只要特判全是1的情况。 #include &lt;bits/stdc++.h&gt; using namespace std; int main () { int t, n, kase = 0, x; cin &gt;&gt;...

YancyKahn 463

Nim POJ - 2975 (Boutons定理 + 博弈)

Nim is a 2-player game featuring several piles of stones. Players alternate turns, and on his/her turn, a player’s move consists of removing one or more stones from any single pile. Play ends when all...

短发 382

lightoj 1253 - Misere Nim Nim博弈

给定n堆石子,双方轮流游戏,可以任取一堆的任意个,谁拿走最后一个谁输,A先手。 Nim博弈跑完发现如果都是1的结果刚好不对... 纯1的情况只能通过有多少堆来判断.... #include using namespace std; #define ll long long #define ull unsigned long long #define mod 1000007 #define i

636

博弈之Nim浅谈

博弈论应该算是一门独立的学问吧,它是现代数学不断进步的产物,是运筹学中重要的一部分。作为一个计算机科学与技术专业的学生,在这里谈论这高深的“博弈”二字实有不妥,所以,讲的不好的地方请多见谅。 Nim的游戏规则(问题描述):有N堆物品,每堆有M[i](1 定理(亦是结论):如果M[1] xor M[2] xor M[3] xor …… xor M[N] == 0,那么先手输,否则先手赢。(xo

Yick_Liao的专栏 3018

HDU2509 Nim博弈 附定理

Nim博弈变形(anti-nim) 题目大意:有n堆苹果,每堆有mi个。两人轮流取,每次可以从一堆苹果中取任意连续个苹果,最后取光者为输。Fra先下,问是否可以获胜。 算法如下: 这题与以往的博弈题的胜负条件不同,谁先走完最后一步谁输,但他也是一类Nim游戏,即为anti-nim游戏。 首先给出结论:先手胜当且仅当 ①所有堆石子数都为1且游戏的SG值为0(即有偶数

Sky-J的代码篮子 882

B - Misere Nim 变式nim(LightOJ 1253)

Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, each pile containing one or more stones. The players alternate turns and in each turn a player can sele

protecteyesight的博客 446

nim misere game anti-sg

http://sigma425.hatenablog.com/entry/2014/12/07/132702 http://www.cppblog.com/sdfond/archive/2010/02/06/107364.html http://en.wikipedia.org/wiki/Nim Nim is a mathematical game of

生命、期待、淡淡的爱 1512
上一篇: Highway Project (ZOJ - 3946,双权值 spfa)
下一篇: Partitioning Game( LightOJ - 1199,博弈 sg 函数)
The___Flash
博客等级 码龄8年 79粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值