题目链接:uva 11859 - Division Game
题目大意:给定一个N*M的矩阵,每次可以选择同一行中的若干个数,把它们变成它们的真因子。问说先手的可否胜利。
解题思路:将每一行中每个数的质因子看成是一个火柴,那么对于一行来说就是一个单堆的Nim游戏。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int div_factor (int n) {
int ret = 0;
for (int i = 2; i * i <= n; i++) {
while (n % i == 0) {
ret++;
n /= i;
}
}
if (n > 1)
ret++;
return ret;
}
int main () {
int cas, N, M;
scanf("%d", &cas);
for (int k = 1; k <= cas; k++) {
int v = 0, x;
scanf("%d%d", &N, &M);
for (int i = 1; i <= N; i++) {
int s = 0;
for (int j = 1; j <= M; j++) {
scanf("%d", &x);
s += div_factor(x);
}
v ^= s;
}
printf("Case #%d: %s\n", k, v ? "YES" : "NO");
}
return 0;
}
分享到:
相关推荐
matlab开发-NIMgame。NIM游戏的图形用户界面实现
Game-of-Nim
isr4400-firmware_nim_xdsl.16.6_39x3.SSA.pkg
isr4400-firmware_nim_xdsl.xe316_39t.SSA.pkg
repo-template-nim:Nim项目模板
uva11859nim游戏 + 求素因子个数.cpp
isr4300-firmware_nim_xdsl.16.6_39x3.SSA.pkg
isr4200-firmware_nim_xdsl.16.6_39x3.SSA.pkg
msgpack-rpc-nim Nim 的 MessagePack-RPC 实现 API: : 例子作者Akira Hayakawa ( )
Atom-nim-planet.zip,Nim RSS feed planet at https://planet.nim-lang.org尼姆星球,atom是一个用web技术构建的开源文本编辑器。
isr4300-firmware_nim_xdsl.xe316_39t.SSA.pkg
小组项目-软件-工程-Nim-Game 使用AngularJS的基于Web的Nim游戏
IBM P系列虚拟化 1.规划和配置 2.划分VIO分区,安装配置VIO 3.划分其他Lpar,安装第一个LPAR 4.配置NIM,安装其他LPAR 5.附录
pre-comm-nim:为Nim提交前的挂钩
nim-package-directory:Nim软件包目录-文档生成器
C Terminal Nim C Terminal Nim有一个不言而喻的名称:这是您可以在终端中玩的Nim游戏。 目前,只有本地两人游戏模式可用。 指示 正在下载 导航到发行页面,并下载适用于您系统的二进制文件(对于Linux是nim ,对于...
解题思路如果最后剩下1-3个石头,你肯定是赢家,如果此时剩下4个石头,你无论拿多少个,对方一定会赢。如果此时剩下5个石头,这时你的最佳策略是拿走一个石头,这是对
To-ASCII-Nim 一个用于将图像转换为ASCII的命令行工具! 编译/构建 克隆存储库并cd到其中: git clone https://github.com/Iapetus-11/To-ASCII-Nim cd To-ASCII-Nim 编译: nimble install # or nim compile ...
heroku-buildpack-nim:将nim应用程序部署到heroku
nim-telegram-bot:Nim Telegram Bot