首页 > 其他分享 >POJ - 2348 Euclid's Game

POJ - 2348 Euclid's Game

时间:2022-10-05 21:24:24浏览次数:85  
标签:局面 cout cin 2348 Game POJ Euclid

Euclid's Game

博弈

很经典的博弈了

首先明确每个状态必然都对应着一个局面,先手必败 \(or\) 先手必胜

如果当前局面对于先手来说是能够选择的,也就是 \(b >= a * 2\),对于一个最终局面 \(b' < a\),如果先手必败,此时先手可以把这个局面丢给对方,否则可以让局面变成 \(b' + a\) 和 \(a\),让对手把被迫必胜局面留给自己

因此就考虑轮到谁能有选择的时候,谁是先手就获胜

#include <iostream>
using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    long long a, b;
    while(cin >> a >> b)
    {
        if((a | b) == 0) break;
        int f = 0;
        while(1)
        {
            if(a > b) swap(a, b);
            if(b >= a * 2 || b == a) break;
            b -= a;
            f ^= 1;
        }
        if(f == 0) cout << "Stan wins\n";
        else cout << "Ollie wins\n";
    }
    // cout << endl;
    return 0;
}

标签:局面,cout,cin,2348,Game,POJ,Euclid
From: https://www.cnblogs.com/dgsvygd/p/16756428.html

相关文章

  • SPOJ GSS 系列杀青
    算是题单吧太壮观了兄弟们,可是之前\(8\)题难度评分都高一档的啊。GSS1区间最大子段和板子题,用线段树随便过。GSS2相同的数只算一次,我们离线询问,顺序插入数组中的值......
  • POJ 2348 Euclid's Game(博弈论 辗转相减)
    POJ2348Euclid'sGame(博弈论辗转相减)题目:​ 给出两个数,A,B轮流操作。每次操作可以将大的数减去小的数的整数倍,若操作后出现0,执行这次操作的人胜。思路:​ 根据样例(25......
  • POJ 1064 Cable master(浮点数二分 精度处理)
    POJ1064Cablemaster(浮点数二分精度处理)题目:​ 给出n棵木头,现在要求将木头裁成k个长度相同的小木头,请问这k个小木头的最大长度是多少。裁出来后不支持拼接。所有长度......
  • POJ 2247 Humble Numbers(搜索,生成子集)
    HumbleNumbers(搜索,生成子集)题目:​ 给出多次询问,问第k个丑数是多少(最多询问到k=5842)。​ 丑数:分解质因数后,质因子只包含2,3,5,7的数字。思路:​ 通过预处理得到,584......
  • 关于Axios传json对象给后端,后端将json在转换为pojo对象,
    Controller使用@ResquestParam注解,形参并不直接写pojo对象,而是Map<String,Object>对象,然后使用其get(“key”)方法得到前端作为url参数传递过来的json格式的object对象,使用......
  • POJ 2110 Mountain Walking(二分 枚举 BFS)
    POJ2110MountainWalking(二分枚举BFS)题目:​ 给出一张\(n*n(n\le100)\)的地图,每个点都有一个点权\((val\le110)\),可以任意选择路径,请问从(1,1)走到(n,n)的路......
  • POJ3071 Football
    POJ3071Football翻译岛田小雅题目描述\(2^n\)个队伍参加一场单淘汰制足球锦标赛,它们被编号为\(1,2,…,2^n\)。每一轮比赛,未被淘汰的队伍按照升序被放在一个列表里,接......
  • DFS算法练习 POJ1111; POJ1129; POJ2245; POJ2657
    POJ1111:importjava.util.Scanner;/***@Authorjinjun99*@DateCreatedin2022/9/279:49*@Description*@Sinceversion-1.0*/publicclassMain{......
  • mybatisPlus逆向生成工具类CodeGenerator (生成pojo、controller、service等)
    importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.generator.AutoGenerator;importcom.baomidou.mybatisplus.generator.config.Da......
  • 应用Lombok 插件--提高使用 POJO 类的效率
    不评价使用Lombok的好坏什么是Lombok?lombok⼀个优秀的Java代码库,简化了Java的编码,为Java代码的精简提供了⼀种⽅式可以自动生成JavaBean的getter,setter,equal......