마비노기에서 가장 번화한 도시 중 하나인 던바튼의 광장은 합주하기 위해 모여든 음악가들로 항상 북적인다.
명의 음악가가 모여있고, 편의상 번부터 번까지 번호가 매겨져 있다. 음악가는 번부터 번까지 순서대로 줄 서 있다.
마비노기에는 인간, 엘프, 자이언트 세 종족이 있다. 엘프와 자이언트는 서로 적대적인 관계라 서로 인접하여 있으면, 집중을 못 하여 합주할 수 없다. 그 때문에 음악가 중 일부를 제외하여 엘프와 자이언트가 인접하지 않도록 해야 한다. 단, 음악가들이 제외되고 나면 빈자리 없이 서로 붙어서 합주해야 한다.
번부터 번까지 명의 음악가의 종족이 주어졌을 때, 엘프와 자이언트가 인접하지 않도록 하기 위해 제외해야 하는 최소 인원을 계산하는 프로그램을 작성하라.
이 문제는 쿼리 형식으로 입력이 주어진다. 각 쿼리는 의 형태인데, 이는 번 음악가를 종족으로 변경하고, 번부터 번 음악가만 고려하였을 때 제외해야 하는 최소 인원을 구하라는 의미이다. 쿼리로 변경된 종족은 누적된다는 점에 유의하라.
첫 줄에 음악가의 수를 나타내는 정수 과 쿼리의 수를 나타내는 정수 가 공백으로 구분되어 주어진다. ( )
그다음 줄에 초기 각 음악가의 종족을 나타내는
영어 소문자 h
, e
, g
로 구성된 길이가 인 문자열이 주어진다.
번째 문자가 h
라는 것은 번 음악가가 인간 종족임을,
번째 문자가 e
라는 것은 번 음악가가 엘프 종족임을,
번째 문자가 g
라는 것은 번 음악가가 자이언트 종족임을
의미한다.
이어지는 개의 줄의 번째 줄에는
번째 쿼리에 대한 정보가 주어진다.
각 줄은 쿼리에 해당하는 정수 , 문자 , 정수 와 정수 가
공백으로 구분되어 주어진다. ( 는 h
, e
, 또는 g
이다)
개의 줄에 걸쳐 답을 출력한다. 번째 줄에는 번째 쿼리에 대한 정답을 출력한다.
4 5 eghg 3 h 1 4 3 e 1 4 2 h 1 3 3 g 2 4 2 e 2 3
1 2 0 0 1
초기 음악가의 종족을 나타낸 종족 문자열은 eghg
이다.
첫 번째 쿼리는 이므로
종족 문자열은 여전히 eghg
이다.
종족 문자열 전체에 대한 쿼리이므로 번 음악가를 제외하여 ghg
인 배치를 얻거나,
번 음악가를 제외하여 ehg
인 배치를 얻으면 조건을 만족시킬 수 있다.
따라서, 첫 쿼리에 대한 답은 이다.
두 번째 쿼리는 이다. 종족 문자열은 이제 egeg
로 바뀌었다.
이 쿼리도 종족 문자열 전체에 대한 쿼리이다.
번과 번 음악가를 제외하면 gg
가 되어
조건을 만족한다. 이 쿼리에 대한 답은 이다.
세 번째 쿼리는 이다. 종족 문자열은 이제 eheg
로 바뀌었다. 이 쿼리는 문자열의
번째부터 번째까지인 ehe
에 대한 쿼리이다. 이 경우 그대로 조건을 만족하므로
답은 이다.
네 번째 쿼리는 이다. 종족 문자열은 이제 ehgg
로 바뀌었다. 이 쿼리는 문자열의
번째부터 번째까지인 hgg
에 대한 쿼리이다. 이 경우의 답은 이다.
마지막 쿼리는 이다. 종족 문자열은 이제 eegg
로 바뀌었다. 이 쿼리는 문자열의
번째부터 번째까지인 eg
에 대한 쿼리이다. 두 음악가 중 한 명을 제외하면 조건이
만족하므로 이 경우의 답은 이다.
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 13점
,
종류 2: 18점
,
종류 3: 22점
모든 음악가의 종족은 항상 엘프이거나 자이언트임. 즉, 인간 종족인 음악가는 등장하지 않음.
종류 4: 47점
추가적인 제한 조건이 없음.