日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bzoj2463谁能赢呢?

發布時間:2024/10/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj2463谁能赢呢? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description
小明和小紅經常玩一個博弈游戲。給定一個n×n的棋盤,一個石頭被放在棋盤的左上角。他們輪流移動石頭。每一回合,選手只能把石頭向上,下,左,右四個方向移動一格,并且要求移動到的格子之前不能被訪問過。誰不能移動石頭了就算輸。假如小明先移動石頭,而且兩個選手都以最優策略走步,問最后誰能贏?
Input
輸入文件有多組數據。
輸入第一行包含一個整數n,表示棋盤的規模。
當輸入n為0時,表示輸入結束。

Output

對于每組數據,如果小明最后能贏,則輸出”Alice”, 否則輸出”Bob”, 每一組答案獨占一行。

Sample Input
2
0

Sample Output
Alice

HINT
對于所有的數據,保證1<=n<=10000。

分析:這道題啊,說是博弈,但思路比較簡單:
對于每一個棋盤,顯然只要有一個格子沒走過,當前手就要想盡辦法的到達,不然就會輸了,那么根據n就可以分成兩種情況:
n為奇數:n*n也為奇數,這樣走完所有格子(最壞情況)一定需要偶數步,顯然后手勝利
n為偶數:n*n也為偶數,這樣走完所有格子(最壞情況)一定需要奇數步,顯然先手勝利

這樣判斷一下n的奇偶就可以了

這里寫代碼片 #include<cstdio>using namespace std;int n;int main() {scanf("%d",&n);while (n){if (n%2==0) printf("Alice\n");else printf("Bob\n");scanf("%d",&n);}return 0; }

轉載于:https://www.cnblogs.com/wutongtong3117/p/7673575.html

總結

以上是生活随笔為你收集整理的bzoj2463谁能赢呢?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。