傳送門:
題目描述:xhrlyb在和cwbc玩遊戲。 在乙個多重集合中有在[l,r]中的全部整數各乙個,即l,l+1,l+2,......,r。 每次xhrlyb和cwbc可以選擇乙個大於0的數字p,把p從多重集合中刪去,然後向集合中加入k個
輸入描述:
輸入資料有多行,每行有三個正整數,l,r,k。
輸出描述:輸出資料應有多行,如果這一局xhrlyb獲勝,那麼請輸出xhrlyb;如果cwbc獲勝,請輸出cwbc;如果兩人平局,請輸出draw。
出題人寫的題解:
資料組數較多,我們優先考慮預處理陣列,然後直接回答詢問。
考慮貪心。
當 k = 1 時,遊戲會一直繼續下去,誰也無法取勝,故平局。 對 2 ≤ k 的每乙個 k,列舉每乙個數字,考慮它需要做幾次操作,才能將這個數字變成全部為零的 數字。
可以看出,最後的答案只與總算子的奇偶性有關,而數字的總算子是一定的,故這是乙個假的
博弈論。
對運算元求乙個字首和,判斷其奇偶性,即可。
這樣,我們就可以通過這道題目。
#includeusing namespace std;
long long pk[105][100005];
void solve()//預處理,求出對於每個k值,每個p需要的運算元}}
}int main()
else
if(ans%2==1)
printf("xhrlyb\n");
else
printf("cwbc\n");}}
}
牛客小白月賽3
a 我們規定母音字母有a e i o u,並且規定半母音字母y也是母音字母。cwbc在學習英語,xhrlyb為了讓cwbc的記憶更加深刻,於是她讓cwbc把每個字串的所有字母都變成乙個恰好不大於它本身的小寫母音字母。可是cwbc比較貪玩,並且他想讓你幫他完成這個任務。聰明的你在仔細閱讀題目後,一定可...
牛客小白月賽 3
按照題目模擬就行了,注意題目母音加了乙個y就行 include include using namespace std const int maxn 2e5 5 char yuan 6 intmain cout 字首和的使用 c,cw,cwb,cwbc都是根據上乙個狀態來進行的所以,每乙個狀態就是上...
A 音標 牛客小白月賽3
題目描述 我們規定母音字母有a e i o u,並且規定半母音字母y也是母音字母。cwbc在學習英語,xhrlyb為了讓cwbc的記憶更加深刻,於是她讓cwbc把每個字串的所有字母都變成乙個恰好不大於它本身的小寫母音字母。可是cwbc比較貪玩,並且他想讓你幫他完成這個任務。聰明的你在仔細閱讀題目後,...