"移动石头"游戏中的博弈问题(洛谷P4136题题解,Java语言描述)

题目要求

P4136题目链接
在这里插入图片描述

分析

一道博弈论的题。

很显然,棋盘大小为 n × n n\times n ,左上角已有 1 1 枚棋子,那么剩下的可选格子有 n 2 1 n^2-1 个。

由题意得,如果一个人要赢,那么他必须抢到最后一个格子。
所以,当 n 2 1 n^2-1 为奇数时,先手赢;否则后手赢。
即当 n 2 n^2 为偶数时,先手赢;否则后手赢。

又因为 n 2 n^2 的奇偶与 n n 一致,
所以,当 n n 为偶数时,先手赢;否则后手赢。

AC代码(Java语言描述)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        while (num != 0) {
            System.out.println((num&1)==1 ? "Bob" : "Alice");
            num = scanner.nextInt();
        }
        scanner.close();
    }
}
发布了695 篇原创文章 · 获赞 1483 · 访问量 67万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104836297
今日推荐