Muodosta lista, joka sisältää luvut 1 \dots n ja missään kohdassa ei ole vierekkäin kahta peräkkäistä lukua.
Jos ratkaisuja on useita, listan ensimmäisen alkion tulee olla pienin mahdollinen. Jos ratkaisuja on edelleen useita, toisen alkion tulee olla pienin mahdollinen, jne. Toisin sanoen listan tulee olla leksikografisesti pienin mahdollinen.
Voit olettaa, että 1 \le n \le 100. Ratkaisusi tulee toimia tehokkaasti kaikissa näissä tapauksissa.
Toteuta tiedostoon morediff.py
funktio create
, joka palauttaa listan. Jos mitään ratkaisua ei ole, funktion tulee palauttaa None
.
def create(n): # TODO if __name__ == "__main__": print(create(1)) # [1] print(create(2)) # None print(create(4)) # [2, 4, 1, 3] print(create(7)) # [1, 3, 5, 2, 6, 4, 7]