摘要:前言的除數(shù)博弈愛(ài)麗絲和鮑勃一起玩游戲,他們輪流行動(dòng)。只有在愛(ài)麗絲在游戲中取得勝利時(shí)才返回,否則返回。示例輸入輸出解釋愛(ài)麗絲選擇,鮑勃無(wú)法進(jìn)行操作。
前言
Weekly Contest 132的 除數(shù)博弈:
解題思路愛(ài)麗絲和鮑勃一起玩游戲,他們輪流行動(dòng)。愛(ài)麗絲先手開(kāi)局。
最初,黑板上有一個(gè)數(shù)字 N 。在每個(gè)玩家的回合,玩家需要執(zhí)行以下操作:
選出任一 x,滿足 0 < x < N 且 N % x == 0 。
用 N - x 替換黑板上的數(shù)字 N 。
如果玩家無(wú)法執(zhí)行這些操作,就會(huì)輸?shù)粲螒颉?/p>只有在愛(ài)麗絲在游戲中取得勝利時(shí)才返回 true,否則返回 false。假設(shè)兩個(gè)玩家都以最佳狀態(tài)參與游戲。
示例1:
輸入:2 輸出:true 解釋:愛(ài)麗絲選擇 1,鮑勃無(wú)法進(jìn)行操作。示例2:
輸入:3 輸出:false 解釋:愛(ài)麗絲選擇 1,鮑勃也選擇 1,然后愛(ài)麗絲無(wú)法進(jìn)行操作。提示:
1 <= N <= 1000
本題難度為簡(jiǎn)單,可是題目的描述會(huì)感覺(jué)解題十分困難,實(shí)際上本題只需要找出愛(ài)麗絲和鮑勃勝負(fù)的周期即可,同類型的題目有292. Nim游戲。下面先列出前5次的勝負(fù)情況:
N為1時(shí),由于愛(ài)麗絲先手,無(wú)法進(jìn)行操作,鮑勃勝利,為false
N為2時(shí),愛(ài)麗絲勝利,為true
N為3時(shí),鮑勃勝利,為false
N為4時(shí),取數(shù)情況為1,1,1,愛(ài)麗絲勝利,為true
N為5時(shí),取數(shù)情況為1,1,1,1,鮑勃勝利,為false
從上面列出的勝負(fù)情況可以看出,當(dāng)N為奇數(shù)時(shí),鮑勃勝利,當(dāng)N為偶數(shù)時(shí),愛(ài)麗絲勝利。
實(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/77617.html
摘要:原題給定兩個(gè)整數(shù),被除數(shù)和除數(shù)。將兩數(shù)相除,要求不使用乘法除法和運(yùn)算符。返回被除數(shù)除以除數(shù)得到的商。右移位,等價(jià)于,除以的次方。當(dāng)除以時(shí),結(jié)果相較于除數(shù)會(huì)非常的小。我們使用循環(huán)逐漸減少右移的位數(shù),逐漸逼近除數(shù),當(dāng)時(shí)等于,大于等于。 showImg(https://segmentfault.com/img/remote/1460000020181895); 原題 給定兩個(gè)整數(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)系式,問(wèn)是否能夠計(jì)算出其它字母之間的倍數(shù)關(guān)系如已知問(wèn)是否能夠計(jì)算出的值。這里的值因?yàn)樵跅l件中無(wú)法獲知是否等于零,因此也無(wú)法計(jì)算其真實(shí)結(jié)果,也需要返回。即代表點(diǎn)指向點(diǎn)的邊的權(quán)重為,而點(diǎn)指向點(diǎn)的邊的全中為。 題目要求 Equations are given in the format A / B = k, where A and B are variables ...
摘要:給定兩個(gè)整數(shù),被除數(shù)和除數(shù)。將兩數(shù)相除,要求不使用乘法除法和運(yùn)算符。返回被除數(shù)除以除數(shù)得到的商。示例輸入輸出示例輸入輸出說(shuō)明被除數(shù)和除數(shù)均為位有符號(hào)整數(shù)。假設(shè)我們的環(huán)境只能存儲(chǔ)位有符號(hào)整數(shù),其數(shù)值范圍是。 給定兩個(gè)整數(shù),被除數(shù) dividend和除數(shù) divisor。將兩數(shù)相除,要求不使用乘法、除法和 mod 運(yùn)算符。 返回被除數(shù) dividend 除以除數(shù) divisor 得到的商。...
閱讀 1449·2021-09-28 09:44
閱讀 2515·2021-09-28 09:36
閱讀 1170·2021-09-08 09:35
閱讀 1990·2019-08-29 13:50
閱讀 819·2019-08-29 13:29
閱讀 1139·2019-08-29 13:15
閱讀 1731·2019-08-29 13:00
閱讀 2997·2019-08-26 16:16