一道不会的题目的问题

小 B 面前有 nn 个开关,开始时第 ii 个开关状态是ai
i,其中 ai=1表示第i个开关是开的,ai = 0表示第 i 个开关是关的。现在 小 B 获得了一种魔法,他可以进行若干次操作,每次操作可以选择一个数 x,然后把 x 号开关及其之前的所有开关状态反转(开变关,关变开),请问小 B 最少需要多少次操作才能使所有开关都变为M k m关的状态。


在线等,急!

回答

递归解决这个问l p y R H题,假设函数int getnum(int i,bool open)是递归函数,从最后V w p {一个开Y 7 | N v : G @ L关开始,如果第n个是开,就返回getnum(n-1,true);如果n是关,f返回getnum(n-1,false)+1,然后就是递归结束条件,i为1的时候。