移动石头游戏中的博弈问题(洛谷P4136题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
移动石头游戏中的博弈问题(洛谷P4136题题解,Java语言描述)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目要求
P4136題目鏈接
分析
一道博弈論的題。
很顯然,棋盤大小為 n×nn\times nn×n,左上角已有111枚棋子,那么剩下的可選格子有 n2?1n^2-1n2?1 個(gè)。
由題意得,如果一個(gè)人要贏,那么他必須搶到最后一個(gè)格子。
所以,當(dāng) n2?1n^2-1n2?1 為奇數(shù)時(shí),先手贏;否則后手贏。
即當(dāng) n2n^2n2 為偶數(shù)時(shí),先手贏;否則后手贏。
又因?yàn)?n2n^2n2 的奇偶與 nnn 一致,
所以,當(dāng) nnn 為偶數(shù)時(shí),先手贏;否則后手贏。
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();} }總結(jié)
以上是生活随笔為你收集整理的移动石头游戏中的博弈问题(洛谷P4136题题解,Java语言描述)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解 操作系统 LRU算法(以洛谷P
- 下一篇: 【软件架构】三层架构和MVC的比较