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

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

Fotografen

면접 대비

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

요약
N장의 사진 회전 상태와 창 크기 k가 주어질 때, 길이 k 구간을 90도 시계 방향으로 회전하는 연산을 최소 몇 번 해야 모든 사진을 위로 만들 수 있는지 구하거나 불가능하면 -1을 출력한다.
난이도

보통10점 중 5점

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

문제

En fotograf har tagit många fina foton med sin digitalkamera och kopplar in den i sin dator för att överföra bilderna. Bilderna har tagits med olika vridningar av kameran så nu är vissa av bilderna roterade. Vi kallar de fyra möjliga rotationerna ett foto kan ha för upp, höger, ner och vänster och definierar det som den sida som motsvarar uppåt i bilden. En bild är vänd rätt om den är roterad upp. Datorn visar bilderna i en lista och har en funktion som roterar en bild 90∘90^\circ medurs. Rotationen sker alltså enligt följande ordning:

Hur en bild roteras

Fotografen tycker det verkar tråkigt att rotera foton och bestämmer sig för att göra det till ett roligt spel. Fotografen väljer ett positivt heltal kk och bestämmer att det enda sättet att rotera foton är att markera exakt kk intill varandra liggande foton ur listan och rotera alla dessa samtidigt. Formellt har fotografen NN foton, kalla dem a_1,a_2,…a_Na\_1, a\_2, \dots a\_N. Fotografen kan nu välja ett index ii (1≤i≤N−k+11 \leq i \leq N-k+1) och bilderna a_i,a_i+1,...,a_i+k−1a\_i, a\_{i+1}, ... , a\_{i+k-1} roteras då 90∘90^\circ medurs. Detta kallar vi en operation.

Målet med spelet är att vända alla foton rätt med så få operationer som möjligt. Skriv ett program som beräknar det minsta antalet operationer som krävs.

입력

På första raden står två heltal NN och kk (1≤k≤N≤100,0001 \leq k \leq N \leq 100\\,000), antalet foton totalt respektive antalet foton som måste roteras samtidigt.

På andra raden står NN tecken som representerar fotografiernas rotation från början: U för upp, H för höger, N för ner och V för vänster.

출력

Skriv ut det minsta antalet operationer som krävs. Om det inte går att vända alla foton rätt, skriv ut −1-1.

힌트

En möjlig optimal lösning är denna: Rotera tre gånger på position 3-4 för att få UVVU, rotera sedan en gång på position 2-3 för att slutligen få UUUU, och vi är klara med fyra operationer utförda.

예제3

  1. 예제 1

    입력
    4 2
    UVUH
    
    예상 출력
    4
    
  2. 예제 2

    입력
    8 5
    HUNVVNVH
    
    예상 출력
    9
    
  3. 예제 3

    입력
    5 2
    UUUUV
    
    예상 출력
    -1