2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集)
题目描述:
A、B两个人玩抢7游戏,游戏规则为A先报一个起始数字X(10<起始数字<10000),B报下一个数字Y(X-Y<3),A再报一个数字Z(Y-Z<3),以此类推,直到其中一个抢到7,抢到7即为胜者;在B赢得比赛的情况下,一共有多少种组合?
输入描述:
起始数字M,如100;10<=M<=10000
输出描述:
B能赢得比赛的组合次数
补充说明:
示例1
输入:
10
输出:1
说明:
解题关键:这道题是一个爬楼梯问题的变种,两个人接替报数,每次报数是前一个人的数的-1或者-2。我们可以定义两个数组a[n],b[n], a[i]代表A报数i的组合数,我们有两种更新方式:a[i] +