TYVJ博弈论
一些比较水的博弈论...(为什么都没有用到那什么SG呢....)
TYVJ 1140 飘飘乎居士拯救MM
题解:
歌德巴赫猜想
#include <cmath>
#include <cstdio> int n, a, b, ta, tb; inline bool isPrime(int x){
if (x==) return true;
for (int i=; i<=sqrt(x); i++)
if (!(x%i)) return false;
return true;
} inline int getTime(int x){
if (isPrime(x)) return ;
if (isPrime(x-)) return ;
if (x& && isPrime(x-)) return ;
return x& ? : ;
} inline bool work(){
scanf("%d %d", &a, &b);
ta = b>a ? : ;
ta += getTime(a), tb = getTime(b);
return ta<=tb;
} int main(){
scanf("%d", &n);
while (n--)
if (work()) puts("YES");
else puts("NO");
}
TYVJ 1140
TYVJ 1420 红豆子和绿豆子
题解:
看完题后发现判断绿豆的奇偶就行了
开始有个点WA了看了下数据遭吓到了...数据范围都不告诉简直坑
#include <cstdio>
#define isDig (48<=c&&c<=57) char c;
bool cj; int main(){
do
c = getchar();
while (isDig); do
c = getchar();
while (!isDig); do {
if (isDig) cj = (c-)&;
c = getchar();
} while (isDig); puts(cj ? "Yes" : "No");
}
TYVJ 1420
TYVJ 1567 吃糖果游戏
题解:
数学归纳法:借用题解里的话
设a=[2,3,7,8]
设b=[1,4,5,6,9,10]
如果两个数都可写为10i+a的形式,设吃掉了第一个数,留下的第二个数10i+a,这时你无论怎么分,分出来的两个数一定有一个属于10i+b的形式。
而我们发现每个b都能写成两个a的形式。
因此如果两个数都是10i+a的形式,经过一轮之后回到手里的还是10i+a,所以必败。
但如果两个数中有一个数不是10i+a,这时可以把另外一个吃掉,然后把这个数分成两个10i+a,这时对方必败。
#include <cstdio>
#include <cstring>
#define isDig (48<=c&&c<=57)
#define win (c-48==2||c-48==3||c-48==7||c-48==8) char c;
bool cj, anna; inline void work(){
do
c = getchar();
while (!isDig); do {
if (isDig) cj = win;
c = getchar();
} while (isDig); do
c = getchar();
while (!isDig); do {
if (isDig) anna = win;
c = getchar();
} while (isDig); puts(cj&&anna ? "Shadow" : "Matrix67");
} int main(){
for (int i=; i<; i++)
work();
}
TYVJ 1567
TYVJ博弈论的更多相关文章
- [BZOJ3223]Tyvj 1729 文艺平衡树
[BZOJ3223]Tyvj 1729 文艺平衡树 试题描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区 ...
- [BZOJ3224]Tyvj 1728 普通平衡树
[BZOJ3224]Tyvj 1728 普通平衡树 试题描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个) ...
- IT人生知识分享:博弈论的理性思维
背景: 昨天看了<最强大脑>,由于节目比较有争议性,不知为什么,作为一名感性的人,就想试一下如果自己理性分析会是怎样的呢? 过程是这样的: 中国队(3人)VS英国队(4人). 1:李建东( ...
- BZOJ3223: Tyvj 1729 文艺平衡树 [splay]
3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3595 Solved: 2029[Submit][Sta ...
- BZOJ 3224: Tyvj 1728 普通平衡树
3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 9629 Solved: 4091[Submit][Sta ...
- BZOJ 3223: Tyvj 1729 文艺平衡树
3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3628 Solved: 2052[Submit][Sta ...
- TYVJ P1080 N皇后
描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 列号 1 2 3 4 5 6 -- ...
- [poj2348]Euclid's Game(博弈论+gcd)
Euclid's Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9033 Accepted: 3695 Des ...
- 博弈论揭示了深度学习的未来(译自:Game Theory Reveals the Future of Deep Learning)
Game Theory Reveals the Future of Deep Learning Carlos E. Perez Deep Learning Patterns, Methodology ...
随机推荐
- NodeJS 错误处理最佳实践
NodeJS的错误处理让人痛苦,在很长的一段时间里,大量的错误被放任不管.但是要想建立一个健壮的Node.js程序就必须正确的处理这些错误,而且这并不难学.如果你实在没有耐心,那就直接绕过长篇大论跳到 ...
- Spring里PropertyPlaceholderConfigurer类的使用
1. PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现.PropertyPlaceho ...
- Qt窗口添加鼠标移动拖拽事件
1. .h文件中添加 private: QPoint dragPosition; 2. 在cpp文件中重写鼠标点击和拖拽函数 void ShapeWidget::mousePressEvent( ...
- 因为此版本的应用程序不支持其项目类型(.csproj)”之解
有的时候vs无缘无故的出现如下错误:"因为此版本的应用程序不支持其项目类型(.csproj),若要打开它,请使用支持此类型项目的版本" 解决办法:如果是这个提示,可能是由于你安装m ...
- 在使用dot。js中的值中有空格出现后,进行去除
title= {{= x.replace(/ /g,' ') 通过replace将数据进行处理再展示
- 在Android中使用Java 8的lambda表达式
作为一名Java开发者,或许你时常因为缺乏闭包而产生许多的困扰.幸运的是:Java's 8th version introduced lambda functions给我们带来了好消息;然而,这咩有什 ...
- Java基础知识系列——日期
日期类型也是在编程中经常用到的一种数据类型. Java中的日期类型为Date. 另外需要记住三个类: java.text.SimpleDateFormat; java.util.Calendar; j ...
- code project 上的内存管理的示例代码
/******************************************************************** created: 2014/03/17 18:53 file ...
- DataInputStream和DataOutputStream
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInp ...
- 【译】RabbitMQ:工作队列(Work Queue)
在第一篇我们写了两个程序通过一个命名的队列分别发送和接收消息.在这一篇,我们将创建一个工作队列在多个工作线程间分发耗时的工作任务. 工作队列的核心思想是避免立刻处理资源密集型任务导致必须等待其执行完成 ...