Финалды аудару
Ұзындығы \(n\) болатын, тек 0 және 1 цифрларынан тұратын жол берілген. Жолды өсу ретімен сұрыптау қажет (яғни, барлық 0 символдары барлық 1 символдарынан бұрын орналасуы керек).
Ол үшін келесі операцияны орындауға рұқсат етіледі:
Жолдың кез келген суффиксін таңдау (кейбір позициядан бастап жолдың соңына дейінгі үздіксіз бөлігі).
Ол суффиксті аудару (яғни, ондағы символдардың ретін кері айналдыру).
Жолды ең аз мүмкін болатын операция санымен сұрыптау қажет.
Енгізу
Кіріс деректері бірнеше тестілік жағдайлардан тұрады. Бірінші жолда бір бүтін сан \(t\) \((1 \leq t \leq 100)\) — тестілік жағдайлардың саны беріледі. Одан кейін тестілік жағдайлардың сипаттамалары берілген.
Әрбір тестілік жағдай келесідей сипатталады:
Бірінші жолда бір бүтін сан \(n\) \((1 \leq n \leq 100)\) — жолдың ұзындығы.
Екінші жолда ұзындығы \(n\) болатын жол беріледі. Ол тек 0 және 1 символдарынан тұрады.
Шығару
Әрбір тестілік жағдай үшін келесіні шығарыңыз:
Бірінші жолда бір сан \(k\) — операциялардың ең аз саны.
Екінші жолда \(k\) сан \(p_1, p_2, \dots, p_k\) \((1 \leq p_i \leq n)\) — операциялардың орындалған ретімен аударылған суффикстердің өлшемдері.
Мысалдар
Енгізу 1
2
3
110
3
101
Жауап 1
1
3
2
2 3
Пікірлер