It is known that Byzantine consensus algorithms guarantee a one-step decision only in favorable situations, for instance when all processes propose the same value. Also, no one-step algorithm can support a two-step decision. In this paper, we present a novel generic one-step Byzantine algorithm, called DEX, that circumvents these impossibilities using the condition-based approach. Algorithm DEX has two distinguished features, adaptiveness and double-expedition property. Adaptiveness makes the algorithm sensitive only to the actual number of failures so that it provides fast termination for a large number of inputs when there are fewer failures (a common case in practice). The feature double-expedition property facilitates the two-step decision in addition to the one-step decision. To the best of our knowledge, the double-expedition property is a new concept introduced by this paper, and DEX is the first algorithm having such a feature. Besides, we show that our algorithm is optimal in terms of the number of processes for one-step consensus.