有任意種水果,每種水果個數(shù)也是任意的,兩人輪流從中取出水果,規(guī)則如下:1)每一次應(yīng)取走至少一個水果;每一次只能取走一種水果的一個或者全部2)如果誰取到最后一個水果就勝給定水果種類N和每種水果的個數(shù)M1,M2,…Mn,算出誰取勝,編程實現(xiàn)之。題目的隱含條件是兩個人足夠聰明,聰明到為了取勝盡可能利用規(guī)則。以上是題目的全部內(nèi)容,我在考場上簡單分析了下決定用遞歸,但是沒想明白。我的思路和當(dāng)時的代碼問題轉(zhuǎn)換為誰拿倒數(shù)第二種水果的最后一個的問題,繼而想到了遞歸//返回0表示第一個人贏,返回1表示第二個人贏//問題歸結(jié)為,誰拿倒數(shù)第二種最后一個蘋果誰輸//fruitnum水果種類,a[]對應(yīng)每種水果個數(shù)intwhowins(intfruitnum,inta[]){if(fruitnum==1)return0;else{考慮水果個數(shù)的奇偶性等問題。}}沒想太明白這題,希望懂的不吝賜教
新浪今晚的C++筆試題
大話西游666
2019-04-21 20:13:56