博弈专题之-- Play a game HDU - 1564
2018-01-22 20:37
274 查看
题目大意:
ailyanlu 和 8600玩棋盘游戏,棋盘的大小是 n*n。棋子放在一个角落的方格上。8600第一个先走,每一次,玩家都可以将石头水平或垂直的移动到一个未被访问的相邻的方格。没有能够移动的方格的人将会输掉比赛。如果双方采取策略最优,谁将赢得这场比赛?
大体思路:找规律
看下图:
S表示起点。
如果 n 为偶数,那么所有格子可以被 2*1 的砖块覆盖掉。
这样先手每次都移动到当前 2*1 的另外一块。先手必赢。
如果 n 为奇数。除了起始那个点,其余点都被 2*1 的砖块覆盖。所以后手必赢。
附上代码:
ailyanlu 和 8600玩棋盘游戏,棋盘的大小是 n*n。棋子放在一个角落的方格上。8600第一个先走,每一次,玩家都可以将石头水平或垂直的移动到一个未被访问的相邻的方格。没有能够移动的方格的人将会输掉比赛。如果双方采取策略最优,谁将赢得这场比赛?
大体思路:找规律
看下图:
S表示起点。
如果 n 为偶数,那么所有格子可以被 2*1 的砖块覆盖掉。
这样先手每次都移动到当前 2*1 的另外一块。先手必赢。
如果 n 为奇数。除了起始那个点,其余点都被 2*1 的砖块覆盖。所以后手必赢。
附上代码:
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cmath> int main() { int n; while(scanf("%d",&n)&&n) { if(n%2 == 0) puts("8600"); else puts("ailyanlu"); } return 0; }
相关文章推荐
- hdu 1564 Play a game(博弈——找规律)
- hdu 1564 Play a game(博弈——找规律)
- hdu 1564 Play a game(博弈——找规律)
- hdu 1564 Play a game(博弈——找规律)
- hdu 1564 Play a game 巴什博弈/棋盘博弈问题
- HDU 1564 Play a game (找规律博弈)
- hdu 1564 Play a game(博弈——找规律)
- hdu 1564 Play a game (博弈 奇偶规律)
- HDU 1564 Play a game(规律博弈)
- hdu 1564 Play a game(博弈——找规律)
- HDU 1564 Play a game(博弈)
- HDU 1564 (博弈) Play a game
- hdu 1564 Play a game(博弈——找规律)
- HDU 1564 Play a game 博弈
- hdu1564 Play a game【博弈 找规律】
- hdu 1564 Play a game(博弈——找规律)
- HDU 1564 Play a game(博弈找规律)
- HDU--1564 -- play a game [博弈]
- hdu 1564 Play a game(博弈——找规律)
- 杭电hdu 1564 Play a game 博弈?