Logo
(追記) (追記ここまで)

8427번 - Pudełka 다국어채점 준비 중

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB0000.000%

문제

UWAGA: Aktualnie nie można zgłaszać rozwiązań tego zadania.

Na stole ustawiono w rzędzie n pudełek. Wśród nich, pewne dwa sąsiednie pudełka są puste. Reszta pudełek zawiera n/2 - 1 czerwonych piłeczek i n/2 - 1 zielonych piłeczek. W każdym pudełku znajduje się co najwyżej jedna piłeczka.

Bajtazar wymyślił bardzo ciekawą grę, polegającą na przekładaniu piłeczek między pudełkami w ten sposób, aby na koniec wszystkie czerwone piłeczki znalazły się przed wszystkimi zielonymi. W każdym pojedynczym ruchu wolno przełożyć dwie sąsiadujące piłeczki do pustych pudełek, przy czym podczas tej operacji nie wolno zamieniać ich kolejności. Bajtazar przyszedł do Ciebie z prośbą o pomoc w napisaniu programu grającego w tę grę.

Dysponujesz 11 zestawami danych umieszczonych w dziale Przydatne zasoby. Każdy zestaw jest zapisany w osobnym pliku pudk.in, gdzie k jest numerem zestawu (0 ≤ k ≤ 10). Rozwiązaniem do zadania ma być archiwum spakowane przy użyciu programu zip, które powinno zawierać pliki pudk.out z wynikami dla poszczególnych zestawów. Sumaryczny rozmiar plików przed spakowaniem nie może przekraczać 10 MB, a wielkość archiwum nie może przekraczać 3 MB. Pierwszy wiersz pliku z wynikiem powinien zawierać liczbę ruchów m potrzebnych do wykonania sortowania. Każdy z kolejnych m wierszy powinien zawierać po jednej liczbie pk (0 ≤ pkn - 2), opisującej k - ty ruch. Ruch opisany przez liczbę pk polega na przeniesieniu piłeczki z pudełka pk do lewego, pustego pudełka, a piłeczki z pudełka pk + 1 do prawego, pustego pudełka.

UWAGA: Zawodnik otrzyma 1 punkt za zestaw pod warunkiem, że wypisana sekwencja ruchów będzie prowadziła do poprawnej, posortowanej konfiguracji piłeczek, oraz żaden z zawodników nie poda krótszej sekwencji ruchów prowadzącej do poprawnej, posortowanej konfiguracji piłeczek.

입력

W pierwszym wierszu znajduje się jedna parzysta liczba całkowita n (8 ≤ n ≤ 200 000), oznaczająca liczbę pudełek na stole. Pudełka są ponumerowane od 0, zaczynając od lewej strony. Kolejny wiersz zawiera n-literowe słowo, składające się z cyfr 0, 1 i 2. Kolejne cyfry w słowie odpowiadają kolejnym pudełkom 0, 1, 2, .... Cyfra 0 oznacza, że w pudełku znajduje się czerwona piłeczka, 1 oznacza, że w pudełku znajduje się zielona piłeczka, natomiast 2 reprezentuje puste pudełko.

출력

제한

예제 입력 1

10
0110220101

예제 출력 1

5
1
3
5
8
2

힌트

출처

Contest > Algorithmic Engagements > PA 2005 5-2번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /