虎哥正试图打开一个密码锁。锁上有n个按钮,必须按照特定顺序按下按钮才能打开锁。当按下某个按钮时,要么保持按下状态(这意味着按对了,接着可以按下一个按钮),要么所有按下的按钮都返回到初始位置。当所有按钮同时按下时,锁就打开了。
假定有一把三个按钮的锁,其按钮正确的顺序是:{2,3,1}。如果第一次按下按钮1或3,按钮将立即弹起。如果第一次按下按钮2,它将保持按下状态。如果在2之后按1,则所有按钮都将弹起。如果在2之后按3,按钮3和2将保持按下状态。在两个按钮保持按下状态之后,只需按下按钮1即可打开锁。
现在虎哥不知道正确的按钮顺序,但他很聪明,能够用最优的方法去打开锁。请计算在最坏的情况下,必须按下多少次按钮才能打开锁?