洛谷P4702 取石子

2021-10-19 14:51:33 字數 617 閱讀 7482

題目鏈結

題目描述

alice 和 bob 在玩遊戲。

他們有 nn 堆石子,第 i 堆石子有 a_i個,保證初始時 ai ≤ ai + 1 (1≤ii > ai−1 (a0視為 0)的一堆石子,並從中取走乙個。誰最後不能取了誰輸。alice 先手,他們都使用最優策略,請判斷最後誰會取得勝利。

輸入格式

第一行乙個整數 n(1 ≤ n ≤ 100),表示石子堆數。

接下來一行 n 個數,第 i 個數為 ai​ (1≤ai​ ≤109 ),意義如上所述。

輸出格式

「alice」 或 「bob」,表示誰會贏。

輸入輸出樣例

輸入 #111

輸出 #1

alice

輸入 #212

輸出 #2

bob**:

#include

using

namespace std;

intmain()

if(sum %

2) cout <<

"alice"

;else cout <<

"bob"

;return0;

}

洛谷P5675 取石子遊戲

alice 和 bob 在玩乙個古老的遊戲。現在有若干堆石子,alice 和 bob 輪流取,每次可以選擇其中某一堆的石子中取出任意顆石子,但不能不取,誰先取完使得另乙個人不能取了算贏。現在場地上有 n 堆石子,編號為 1 至 n alice 很快發現了這個遊戲存在一些固定的策略。陰險的 alice...

洛谷 P1392 取數

題面 在做這道題前,先要會他的弱化版 實際一模一樣,只是愚蠢的洛谷評測級別差了一檔 睿智如姬無夜 弱化版 弱化版 實際只是把矩陣行數改成兩行而已 sol 先排序,後考慮乙個序列a 1 b 1 a 2 b 1 a 3 b 1 a n 1 b 1 a n b 1 顯然對於上乙個序列而言 a 1 b 1 ...

洛谷P1880 石子合併

描述 在乙個園形操場的四周擺放n堆石子,現要將石子有次序地合併成一堆.規定每次只能選相鄰的2堆合併成新的一堆,並將新的一堆的石子數,記為該次合併的得分。試設計出1個演算法,計算出將n堆石子合併成1堆的最小得分和最大得分.輸入格式 資料的第1行試正整數n,1 n 100,表示有n堆石子.第2行有n個數...