POJ2368 巴什博弈
来源:互联网 发布:linux网卡配置ip地址 编辑:程序博客网 时间:2024/04/30 05:51
题目:题目链接
题意:这道题目的意思是说,目前有k个石子,让你求出一个最小的数L,使得后手能够赢得比赛。游戏的规则是两个人轮流拿石子,每个人每次最少拿一个,最多拿m个。
分析:这道题目就是普通的巴什博弈,巴什博弈正向的是求谁赢谁输,这道题就是反过来。还是那个公式,如果k%(L+1)==0.那么后手赢,所以我们只要找到K的因子中最小的大于2的数减去1就是我们所求的L。就是这样了,代码:
#include <iostream>#include <cstdio>#include <string>#include <string.h>#include <map>#include <vector>#include <cstdlib>#include <cmath>#include <algorithm>#include <cmath>#include <queue>#include <set>#include <stack>using namespace std;int main(){ int sp[10010]; int n; while(scanf("%d", &n) != EOF) { int k = 0; for(int i = 1; i*i <= n; ++i) { if(n%i==0) { sp[k++] = i; sp[k++] = n/i; } } sort(sp, sp+k); int fp = 0; for(int i = 0; i < k; ++i) { if(sp[i] > 2) { fp = 1; printf("%d\n", sp[i]-1); break; } } if(fp==0) printf("0\n"); } return 0;}
努力努力...
- POJ2368 巴什博弈
- 博弈-巴什博弈
- 巴什博弈+威佐夫博弈+Nim博弈
- poj2368 Buttons
- POJ2368 Buttons
- 博弈入门---(巴什博弈,威佐夫博弈,nim博弈)
- 博弈中的巴什博弈
- 巴什博弈威佐夫博弈
- 尼姆博弈和巴什博弈
- (博弈)巴什博弈hdu1846Brave Game
- (博弈)Public SaleHDU2149(巴什博弈)
- 简单博弈——巴什博弈
- 巴什博弈
- 巴什博弈
- HDU2147 巴什博弈
- hdu1846巴什博弈
- 巴什博弈
- 巴什博弈
- sgmllib Introduction
- Box和UnBox简单对比试验
- UI开发
- hdu4115 Eliminate the Conflict(3SAT->2SAT)
- Android 的上下文菜单: Context Menu
- POJ2368 巴什博弈
- mysql集群之mysql-mmm在centos下的全程安装和配置(三)
- Java基础1-4
- Hdfs-源码解析(2)
- 音频编解码标准
- 音频播放
- python IO
- [转] -jar参数运行应用时classpath的设置方法
- 图片旋转的角度问题 CGAffineTransformMakeRotation