有任意种水果,每种水果个数也是任意的,两人轮流从中取出水果,规则如下:1)每一次应取走至少一个水果;每一次只能取走一种水果的一个或者全部2)如果谁取到最后一个水果就胜给定水果种类N和每种水果的个数M1,M2,…Mn,算出谁取胜,编程实现之。题目的隐含条件是两个人足够聪明,聪明到为了取胜尽可能利用规则。以上是题目的全部内容,我在考场上简单分析了下决定用递归,但是没想明白。我的思路和当时的代码问题转换为谁拿倒数第二种水果的最后一个的问题,继而想到了递归//返回0表示第一个人赢,返回1表示第二个人赢//问题归结为,谁拿倒数第二种最后一个苹果谁输//fruitnum水果种类,a[]对应每种水果个数intwhowins(intfruitnum,inta[]){if(fruitnum==1)return0;else{考虑水果个数的奇偶性等问题。}}没想太明白这题,希望懂的不吝赐教
慕码人2483693
相关分类