博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3533 Light Switching Game(三维Nim积)题解
阅读量:6708 次
发布时间:2019-06-25

本文共 1397 字,大约阅读时间需要 4 分钟。

思路:三维Nim积

 

代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef long long ll;const int maxn = 1e6 + 10;const int seed = 131;const ll MOD = 1e9 + 7;const int INF = 0x3f3f3f3f;using namespace std;int m[2][2] = { 0, 0, 0, 1};int Nim_Mul_Power(int x, int y){ if(x < 2) return m[x][y]; int a = 0; for(; ; a++){ if(x >= (1 << (1 << a)) && x < (1 << (1 << (a + 1)))) break; } int m = 1 << (1 << a); int p = x / m, s = y / m, t = y % m; int d1 = Nim_Mul_Power(p, s); int d2 = Nim_Mul_Power(p, t); return (m * (d1 ^ d2)) ^ Nim_Mul_Power(m / 2, d1);}int Nim_Mul(int x, int y){ if(x < y) return Nim_Mul(y, x); if(x < 2) return m[x][y]; int a = 0; for(; ; a++){ if(x >= (1 << (1 << a)) && x < (1 << (1 << (a + 1)))) break; } int m = 1 << (1 << a); int p = x / m, q = x % m, s = y / m, t = y % m; int c1 = Nim_Mul(p, s), c2 = Nim_Mul(p, t) ^ Nim_Mul(q, s), c3 = Nim_Mul(q, t); return (m * (c1 ^ c2)) ^ c3 ^ Nim_Mul_Power(m / 2, c1);}int Nim_Multip(int x, int y, int z){ return Nim_Mul(Nim_Mul(x, y), z);}int main(){ int n, ans; while(~scanf("%d", &n)){ ans = 0; int x, y, z; while(n--){ scanf("%d%d%d", &x, &y, &z); ans ^= Nim_Multip(x, y, z); } if(ans) printf("No\n"); else printf("Yes\n"); } return 0;}

 

转载于:https://www.cnblogs.com/KirinSB/p/9698941.html

你可能感兴趣的文章
《流量的秘密 Google Analytics网站分析与商业实战》一1.2 网站的衡量标准有何不同...
查看>>
《数据中心设计与运营实战》——2.5 应用层软件
查看>>
Angular从零到一1.5 一些基础概念
查看>>
用Python的 __slots__ 节省9G内存
查看>>
产品经理到底是要做全职保姆式,还是要做合作伙伴式?
查看>>
如何安装 Debian 的非 systemd 复刻版本 Devuan Linux
查看>>
《C++ 开发从入门到精通》——2.2 分析C++的程序结构
查看>>
《像计算机科学家一样思考Python》——3.12 为什么要有函数
查看>>
德国队的大数据策略|虽然被淘汰了但是人家准备很充分啊
查看>>
一个小型数据库的核心组件
查看>>
码农如何快速打造一个有设计感的网站
查看>>
你应该知道的人工智能三大分类
查看>>
《Unity 游戏案例开发大全》一6.2 游戏的策划及准备工作
查看>>
《JavaScript设计模式》——9.2 Module(模块)模式
查看>>
《企业大数据系统构建实战:技术、架构、实施与应用》一第3章 企业大数据解决方案3.1 企业大数据解决方案实现方式...
查看>>
Linux下的七个类Dropbox同步工具推荐
查看>>
非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名...
查看>>
如何快速搭建钉钉微应用?
查看>>
《C语言及程序设计》实践参考——翻转数组
查看>>
Android 仿百合网超火爆社交app首页滑动效果
查看>>