hdu 1564 Play a game(博弈——找规律)
2017-10-18 11:00
531 查看
Play a game
Problem DescriptionNew Year is Coming!
ailyanlu is very happy today! and he is playing a chessboard game with 8600.
The size of the chessboard is n*n. A stone is placed in a corner square. They play alternatively with 8600 having the first m
4000
ove. Each time, player is allowed to move the stone to an unvisited neighbor square horizontally or vertically. The one who can’t make a move will lose the game. If both play perfectly, who will win the game?
Input
The input is a sequence of positive integers each in a separate line.
The integers are between 1 and 10000, inclusive,(means 1 <= n <= 10000) indicating the size of the chessboard. The end of the input is indicated by a zero.
Output
Output the winner (“8600” or “ailyanlu”) for each input line except the last zero.
No other characters should be inserted in the output.
Sample Input
2
0
Sample Output
8600
题意:有一个n*n的棋盘,棋盘的角落有一个石子,两个人轮流移动石子(8600先来),规定每次石子只能移动到当前位置的相邻位(且这个位置未被移动到过),最后谁不能移动石子则谁输,问最后谁赢
结论:当x=n*n为奇数时,后手赢,否则先手赢
证明:当x为偶数时,有y=x-1个位置可走,且y为奇数
又,若可走的步数为奇数时,先手必赢
且奇数一定可以表示为一个奇数加一个偶数的和
也就是说,以先手为主导走的路,最后一定能走到奇数步的路上,因此先手必胜
同理,若y为偶数,偶数可以表示为两个奇数的和或者两个偶数的和
只有当偶数变为奇数,也就是变为以后手为主导时,才一定可以走到奇数步的路上,因此后手必胜
详细证明博客:Boapath
代码:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int main() { int n; while(scanf("%d",&n),n) { int x=n*n; if(x&1) printf("ailyanlu\n"); else printf("8600\n"); } 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(博弈——找规律)
- hdu1564 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(博弈——找规律)
- 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(博弈——找规律)