題目 1581:
藍(lán)橋杯算法提高VIP-密碼鎖
時(shí)間限制: 2s
內(nèi)存限制: 192MB 提交: 493 解決: 183
題目描述
你獲得了一個(gè)據(jù)說(shuō)是古代瑪雅人制作的箱子。你非常想打開箱子看看里面有什么東西,但是不幸的是,正如所有故事里一樣,神秘的箱子出現(xiàn)的時(shí)候總是會(huì)掛著神秘的鎖。
這個(gè)鎖上面看起來(lái)有 N 個(gè)數(shù)字,它們排成一排,并且每個(gè)數(shù)字都在 0 到 2 之間。你發(fā)現(xiàn)你可以通過(guò)鎖上的機(jī)關(guān)來(lái)交換相鄰兩個(gè)數(shù)字的順序。比如,如果原來(lái)有 5 個(gè)數(shù)字 02120,在一次交換以后你就可以得到 20120,01220,02210 或者 02102。
根據(jù)你所搜集的情報(bào),這個(gè)鎖在上面存在某連續(xù)四個(gè)數(shù)字是“2012”的時(shí)候會(huì)自動(dòng)打開?,F(xiàn)在,你需要計(jì)算一下,你至少需要進(jìn)行多少次交換操作才能打開這把鎖?
對(duì)樣例的解釋
把前兩個(gè)數(shù)字交換以后,鎖上的數(shù)字是 20120,其中存在連續(xù)四個(gè)數(shù)字2, 0, 1, 2,因此鎖會(huì)打開。
輸入格式
輸入數(shù)據(jù)的第一行有一個(gè)正整數(shù) N。(4 ≤ N ≤ 13) 輸入數(shù)據(jù)的第二行有 N 個(gè)數(shù)字 a1,a2, ..., aN ,其中 ai 表示這個(gè)鎖上面第 i 個(gè)數(shù)字的值,滿足 0 ≤ ai ≤ 2。這些數(shù)字之間沒(méi)有空格分隔。
輸出格式
你只需要輸出一個(gè)數(shù)字,即你至少需要的交換次數(shù)。如果無(wú)論如何都沒(méi)有希望打開這把鎖,輸出 -1。
提示
零基礎(chǔ)同學(xué)可以先學(xué)習(xí)
視頻課程 ,包含C/C++、Python、百練、藍(lán)橋杯輔導(dǎo)、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習(xí)題,還有老師答疑,
點(diǎn)擊這里 了解課程詳情
標(biāo)簽
顯示知識(shí)點(diǎn)標(biāo)簽
C
C++
Java
Python
PHP
代碼重置
開啟O2優(yōu)化