HDU - 1525 博弈 暴力分析
2024-10-01 03:27:27
先来看看比较显然的几个局面
(a,0) 先手必败
(a,a) 先手必胜
(a,ak) 先手必胜
(a,ak+r),k>1 先手必胜,因为先手有主动权把(a,r)让给后手或留给自己
对于开局(a,r),r<a&&a/r<2,比较难分析,我们用暴力直接跑出结果
挑战程序设计竞赛把这种主动权成为自由度,名字真高端
这次的代码写的不怎么简练,不过能AC
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<string>
#include<vector>
#include<stack>
#include<queue>
#include<set>
#include<map>
#define rep(i,j,k) for(register int i=j;i<=k;i++)
#define rrep(i,j,k) for(register int i=j;i>=k;i--)
#define erep(i,u) for(register int i=head[u];~i;i=nxt[i])
#define iin(a) scanf("%d",&a)
#define lin(a) scanf("%lld",&a)
#define din(a) scanf("%lf",&a)
#define s0(a) scanf("%s",a)
#define s1(a) scanf("%s",a+1)
#define print(a) printf("%lld",(ll)a)
#define enter putchar('\n')
#define blank putchar(' ')
#define println(a) printf("%lld\n",(ll)a)
#define IOS ios::sync_with_stdio(0)
using namespace std;
const int maxn = 1e6+11;
const int oo = 0x3f3f3f3f;
const double eps = 1e-7;
typedef long long ll;
ll read(){
ll x=0,f=1;register char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
ll a,b;
int main(){
while(cin>>a>>b){
if(a==0&&b==0) break;
if(a<b) swap(a,b);
if(a==0){
printf("Ollie wins\n");
continue;
}
if((a%b==0)||(a%b!=0&&a/b>1)){
printf("Stan wins\n");
continue;
}
bool flag=0;
while(1){
if(a<b) swap(a,b);
a=a-b;
if(a<b) swap(a,b);
if(a==0){
printf("%s wins\n",flag?"Ollie":"Stan");
break;
}
if((a%b==0)||(a%b!=0&&a/b>1)){
printf("%s wins\n",flag==0?"Ollie":"Stan");
break;
}
flag^=1;
}
}
return 0;
}
最新文章
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&;tuple、if、for、while、dict、set、函数与参数
- 数组遍历map和each使用
- find命令查找文件,并排除相应路径
- 如何在Linux下使用Gitblit工具创建Git仓库服务
- C++ 标准库类型-String,Vector and Bitset
- Java for LeetCode 148 Sort List
- Data Base MySQL的常用命令
- HttpClient Post Get请求方法,留在以后可能会用到
- WorkFlow介绍及用法
- 内核添加对yaffs2文件系统的支持
- JavaScript面向对象轻松入门之抽象(demo by ES5、ES6、TypeScript)
- form 表单处理
- 在moba游戏里面模拟实现绝地求生毒雾圈功能
- Git更新本地仓库
- java使用顺序存储实现队列
- 04LaTeX学习系列之---overleafz在线编辑平台的使用
- TP5中的小知识
- Codeforces339D(SummerTrainingDay06-A 线段树)
- linux find 命令查找文件和文件夹
- MySQL修改密码和忘记ROOT密码
热门文章
- ROS 下使用3D激光雷达 velodyne vlp-16
- 468C Hack it!
- 关于Rest Framework中View、APIView与GenericAPIView的对比分析
- Java学习——JSTL标签与EL表达式之间的微妙关系
- Python基础-3
- Python基础入门-实现计算器多种姿势
- 无法解析的外部符号 _WinMain@16(原)
- System.Web.UI.Page事件执行顺序
- python学习手册 (第3版)
- duilib入门简明教程 -- 第一个程序 Hello World(3)