摘要:前言的除數(shù)博弈愛麗絲和鮑勃一起玩游戲,他們輪流行動。只有在愛麗絲在游戲中取得勝利時才返回,否則返回。示例輸入輸出解釋愛麗絲選擇,鮑勃無法進(jìn)行操作。
前言
Weekly Contest 132的 除數(shù)博弈:
解題思路愛麗絲和鮑勃一起玩游戲,他們輪流行動。愛麗絲先手開局。
最初,黑板上有一個數(shù)字 N 。在每個玩家的回合,玩家需要執(zhí)行以下操作:
選出任一 x,滿足 0 < x < N 且 N % x == 0 。
用 N - x 替換黑板上的數(shù)字 N 。
如果玩家無法執(zhí)行這些操作,就會輸?shù)粲螒颉?/p>只有在愛麗絲在游戲中取得勝利時才返回 true,否則返回 false。假設(shè)兩個玩家都以最佳狀態(tài)參與游戲。
示例1:
輸入:2 輸出:true 解釋:愛麗絲選擇 1,鮑勃無法進(jìn)行操作。示例2:
輸入:3 輸出:false 解釋:愛麗絲選擇 1,鮑勃也選擇 1,然后愛麗絲無法進(jìn)行操作。提示:
1 <= N <= 1000
本題難度為簡單,可是題目的描述會感覺解題十分困難,實際上本題只需要找出愛麗絲和鮑勃勝負(fù)的周期即可,同類型的題目有292. Nim游戲。下面先列出前5次的勝負(fù)情況:
N為1時,由于愛麗絲先手,無法進(jìn)行操作,鮑勃勝利,為false
N為2時,愛麗絲勝利,為true
N為3時,鮑勃勝利,為false
N為4時,取數(shù)情況為1,1,1,愛麗絲勝利,為true
N為5時,取數(shù)情況為1,1,1,1,鮑勃勝利,為false
從上面列出的勝負(fù)情況可以看出,當(dāng)N為奇數(shù)時,鮑勃勝利,當(dāng)N為偶數(shù)時,愛麗絲勝利。
實現(xiàn)代碼/** * 5024. 除數(shù)博弈 * 1 false * 2 1 true * 3 1 false * 4 1,1,1 true * 5 1,1,1,1 false * @param N * @return */ public boolean divisorGame(int N) { return N%2==0; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77617.html
摘要:原題給定兩個整數(shù),被除數(shù)和除數(shù)。將兩數(shù)相除,要求不使用乘法除法和運(yùn)算符。返回被除數(shù)除以除數(shù)得到的商。右移位,等價于,除以的次方。當(dāng)除以時,結(jié)果相較于除數(shù)會非常的小。我們使用循環(huán)逐漸減少右移的位數(shù),逐漸逼近除數(shù),當(dāng)時等于,大于等于。 showImg(https://segmentfault.com/img/remote/1460000020181895); 原題 給定兩個整數(shù),被除數(shù)?d...
摘要:很容易想到,我們每次用被除數(shù)減去除數(shù),進(jìn)行減法的次數(shù)就是最終結(jié)果。這道題的采取了一種類似二分查找的思想。除了這些,這道題還要注意一些邊界情況的判斷,例如除數(shù)或被除數(shù)為,值溢出等。 題目詳情 Divide two integers without using multiplication, division and mod operator.If it is overflow, retu...
摘要:題目要求已知一些字母之間的關(guān)系式,問是否能夠計算出其它字母之間的倍數(shù)關(guān)系如已知問是否能夠計算出的值。這里的值因為在條件中無法獲知是否等于零,因此也無法計算其真實結(jié)果,也需要返回。即代表點指向點的邊的權(quán)重為,而點指向點的邊的全中為。 題目要求 Equations are given in the format A / B = k, where A and B are variables ...
摘要:給定兩個整數(shù),被除數(shù)和除數(shù)。將兩數(shù)相除,要求不使用乘法除法和運(yùn)算符。返回被除數(shù)除以除數(shù)得到的商。示例輸入輸出示例輸入輸出說明被除數(shù)和除數(shù)均為位有符號整數(shù)。假設(shè)我們的環(huán)境只能存儲位有符號整數(shù),其數(shù)值范圍是。 給定兩個整數(shù),被除數(shù) dividend和除數(shù) divisor。將兩數(shù)相除,要求不使用乘法、除法和 mod 運(yùn)算符。 返回被除數(shù) dividend 除以除數(shù) divisor 得到的商。...
閱讀 1460·2021-09-28 09:44
閱讀 2526·2021-09-28 09:36
閱讀 1199·2021-09-08 09:35
閱讀 1996·2019-08-29 13:50
閱讀 827·2019-08-29 13:29
閱讀 1147·2019-08-29 13:15
閱讀 1738·2019-08-29 13:00
閱讀 3006·2019-08-26 16:16