浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛-D 涛涛和策策的游戏(尼姆博弈)
浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛-D 涛涛和策策的游戏
链接:https://ac.nowcoder.com/acm/contest/7872/D
来源:牛客网
题目描述
涛涛和策策打码累了的时候会聚在一起van游戏。
某一天他们又凑在一起玩游戏了,因为最近他们在学数学知识,所以就开始van博弈小游戏了。
他们写下n个数字,从策策开始两个人轮流进行操作,每次操作只能选择一个大于1的数字x,选择x的一个大于1的因数y,让x变为x/y。
谁先不能操作谁就输了。现在你需要判断出是哪个学长赢了游戏。
如果是策策赢了,输出"CC yyds!"
如果是涛涛赢了,输出"TT txdy!"
输入描述:
第一行一个整数n,代表写下了n个数字。(1≤n≤1×105)
第二行为用空格隔开的n个数字ai代表写下的n个数字。(1≤ai≤1×106)
输出描述:
输出"CC yyds!“或者"TT txdy!”
示例1
输入
复制
3
1 1 1
输出
复制
TT txdy!
示例2
输入
复制
3
2 2 2
输出
复制
CC yyds!
***思路***一看到题目,就很明显的感受出来这是一道博弈论,然后仔细一看,就会发现这是一道抽象化的尼姆博弈。我们只要把每个数分解成不能再拆解的质因数,那实际上每个数的质因数数量就相当于是这堆这堆石头中有几个石子,这时我们就发现这就是最经典的尼姆博弈,只要求所有堆的石子的数量异或就好了,结果是1先手必赢。
尼姆博弈的详情可以去百度一下,我这里就不过多解释了。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1000007;
int dis[maxn];
int prime[maxn];
int visit[maxn];
void Prime(){for (int i = 2;i <= maxn; i++) {if (!visit[i]) {prime[++prime[0]] = i;}for (int j = 1; j <=prime[0] && i*prime[j] <= maxn; j++) {visit[i*prime[j]] = 1;if (i % prime[j] == 0) {break;}}}
}
int main()
{int n,flag=0;Prime();scanf("%d",&n);for(int i=1;i<=n;i++){int x;scanf("%d",&x);for(int j=1;prime[j]*prime[j]<=x;j++){while(x%prime[j]==0){x=x/prime[j];dis[i]++;}}if(x!=1)dis[i]++;flag=flag^dis[i];}if(flag==0){printf("TT txdy!\n");}else{printf("CC yyds!\n");}return 0;
}
浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛-D 涛涛和策策的游戏(尼姆博弈)相关推荐
- 浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛 涛涛和策策的游戏 (尼姆博弈)
链接:https://ac.nowcoder.com/acm/contest/7872/D 来源:牛客网 题目描述 涛涛和策策打码累了的时候会聚在一起van游戏. 某一天他们又凑在一起玩游戏了,因为最 ...
- 浙江农林大学第二十届程序设计竞赛暨团体程序设计天梯赛选拔赛(同步赛) K.来自良心出题人wzc的简单题
链接 来源:牛客网 题目描述 罗德岛训练室今天的使用人是干员w,她的任务是使用手上的三个遥控炸弹,尽可能摧毁最大价值的目标. 测试区域是一个nn的矩阵,w可以选择任意格子安放炸弹,如果选择了位置[i] ...
- 来自wzc的简单拓扑dp———浙江农林大学第二十届程序设计竞赛暨团体程序设计天梯赛选拔赛(同步赛)
传送门 题目描述 (良心出题人wzc说这是个简单拓扑dp,它就必然是一个简单拓扑dp,wzc是不会骗人的) wzc在一张拓扑图上,他所在的起始位置被标记为0.除了起始位置外,还有被1到n这n个整数所标 ...
- 浙江农林大学第二十二届程序设计竞赛部分题解
浙江农林大学第二十二届程序设计竞赛 目录 瓜瓜打游戏(EASY) 题目思路 题目代码 瓜瓜喜欢做 A + B 题目思路 题目代码 瓜瓜不想上电工课 题目思路 题目代码 瓜瓜的 01 串 题目思路 题目 ...
- 海淀区第九届单片机竞赛获奖名单_第十二届程序设计竞赛暨ACM选拔赛获奖名单...
11月21日由北京信息科技大学ACM集训队主办,计算机学院承办,牟永敏老师指导的第十二届程序设计竞赛暨ACM选拔赛完美落幕.本次比赛的参赛队员来自北信科的各个学院的同学共同参与,共142人报名参与此次 ...
- E-游戏机本当下手(北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛)
游戏机本当下手 题目: 藤原妹红拿到了一个游戏机,游戏机上有'1'和'0'两个按钮. 妹红发现,只要按住某个按钮不放,屏幕上就能一直不断打印那个字符. 比如对于"11111111100000 ...
- 北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛(同步赛)
A .爱丽丝的人偶(一) 链接:https://ac.nowcoder.com/acm/contest/8755/A 来源:牛客网 题目描述 爱丽丝有n个人偶,每个人偶的身高依次是 1,2,3,-n ...
- 北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛题解
A 爱丽丝的人偶(一) 链接:https://ac.nowcoder.com/acm/contest/8755/A 题目描述 爱丽丝有个人偶,每个人偶的身高依次是 现在她要将这个人偶摆成一排. 但是人 ...
- 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛题解
链接:https://www.nowcoder.com/acm/contest/118/A 来源:牛客网 PUBG 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...
最新文章
- 开关面板如何自己印字_如何自己动手做一个智能开关
- java开发环境选择
- 周记 2014.11.29
- (JAVA)超大整数运算
- Linux学习命令总结个人及个人心得
- 好947 Mybatis 配置resultMap 带參数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错...
- Linux USB驱动程序设计
- java zip ant 密码_java对 zip文件的压缩和解压(ant解决中文乱码)
- imread读不到图片_家用水表怎么读?超强实用技能快速get
- JAVA System.getProperty()参数
- Md5,base64加密
- 反汇编linux内核,如何反汇编linux固件内核
- 1883:北京旅行日记1276695923新浪博客
- apmserv mysql5.1启动失败_apmserv启动失败的原因以及解决方法
- Mac系统使用终端检测局域网内开放端口的设备ip,扫描本地网络上的监控摄像头
- 自动控制理论的发展历程
- vue将页面html导出为pdf
- 订单23系统服务器,《死亡搁浅》攻略——第3节:芙拉吉尔 订单23.寻物:系统服务器...
- 基于javaweb的酒店管理系统(java+ssm+layui+mysql)
- 【信号去噪】基于改进的阈值高斯脉冲信号去噪含Matlab源码