아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Pliiatsite pööramine

시간 제한1초메모리 제한1024 MB

요약
문자열이 t와 n으로 주어질 때, 연속한 구간을 뒤집어 모든 문자가 같아지게 하는 최소 횟수의 구간을 구해 출력한다.
난이도

보통10점 중 4점

유형
그리디, 구현
정답자
아직 제출이 없습니다

문제

Pillel on karbis üksteise kõrval NN pliiatsit. Need on nummerdatud vasakult paremale 1,2,…,N1, 2, \ldots, N.

Pille tahab, et kõik pliiatsid oleks karbis samapidi. Võib aga juhtuda, et mõnel pliiatsil on teritatud ots üleval, mõnel all. Siis võib Pille ühe liigutusega mingi arvu kõrvuti olevaid pliiatseid ümber pöörata. Vajadusel võib ta selliseid liigutusi teha mitu tükki.

Pille tahab teada, milliseid pliiatseid ta peaks pöörama, et võimalikult väikese arvu liigutustega kõik pliiatsid samapidi saada. Vajadusel võib mõnda pliiatsit ka mitu korda edasi-tagasi pöörata.

입력

Sisendi esimesel real on pliiatsite arv NN (1≤N≤1,0001\le N\le 1\\,000). Teisel real on täpselt NN tähemärki. Täht \verb't' tähendab, et üleval on pliiatsi terav ots, täht \verb'n' aga, et üleval on nüri ots.

출력

Esimesele reale väljastada liigutuste arv MM. Järgmisele MM reale väljastada igaühele AA\verb'-'BB, mis näitab, et ühe liigutusega tuleks ümber pöörata kõik pliiatsid alates pliiatsist number AA ja lõpetades pliiatsiga number BB (pliiatsid number AA ja BB mõlemad kaasa arvatud). Ei ole tähtis, kas pööramiste lõpuks on kõigil pliiatsitel teritatud otsad üleval või all. Oluline on ainult, et kõik pliiatsid on samapidi. Kui vähima liigutuste arvuga pööramisviise on mitu, väljastada ükskõik milline neist.

힌트

Siin pööratakse kõigepealt ümber 4. kuni 7. pliiats, tulemus on \verb'tttttntttt'. Siis tuleb 6. pliiats uuesti ümber pöörata ja ongi kõik pliiatsid samapidi. Pane tähele, et see ei ole ainus viis kõik pliiatsid samapidi saada, kuid ei ole ühtegi väiksema liigutuste arvuga viisi.

예제1

  1. 예제 1

    입력
    10
    tttnntnttt
    
    예상 출력
    2
    4-7
    6-6