RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 JOI00223

連鎖

설명

次のようなゲームがある.

あるキャラクターが縦 1 列に N 個並んでいる.
これらのキャラクターの色は赤,青,黄のいずれかであり,
初期状態で同じ色のキャラクターが4つ以上連続して並んでいることはない.
プレーヤーは,ある位置のキャラクターを選び他の色に変更することができる.
この操作により同じ色のキャラクターが4つ以上連続して並ぶとそれらのキャラクターは消滅する.
キャラクターが消滅することにより新たに同じ色のキャラクターが4つ以上連続して並ぶとそれらのキャラクターも消滅し,同じ色のキャラクターが4つ以上連続して並んでいる箇所がなくなるまでこの連鎖は続く.
このゲームの目的は,
消滅しないで残っているキャラクター数をなるべく少なくすることである.

例えば,
下図の左端の状態で,
上から6番目のキャラクターの色を黄色から青に変更すると,
青のキャラクターが5つ連続するので消滅し,
最終的に3つのキャラクターが消滅せずに残る.

初期状態における N 個のキャラクターの色の並びが与えられたとき,
1箇所だけキャラクターの色を変更した場合の,
消滅しないで残っているキャラクター数の最小値 M を求めるプログラムを作成せよ.

제약
입력 형식

1行目はキャラクター数 N (1 ≦ N ≦ 10000) だけからなる.
続く N 行には 1, 2, 3 のいずれか1つの整数が書かれており,
i + 1 行目 (1 ≦ i ≦ N) は初期状態における上から i 番目のキャラクターの色を表す(1 は赤を,2 は青を,3は黄を表す).

출력 형식

消滅しないで残っているキャラクター数の最小値 M を出力せよ.

예제 1
입력
12
3
2
1
1
2
3
2
2
2
1
1
3
출력
3
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2009 Preliminary

평가 및 의견

連鎖

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

連鎖

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8