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

26786번 - Płytkie nawiasowania 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB21111062.500%

문제

Ciąg składający się z nawiasów otwierających i zamykających nazwiemy nawiasowaniem. Nawiasowanie jest poprawne, jeśli nawiasy można tak połączyć w pary, żeby były poprawnie zagnieżdżone. Definiujemy też głębokość zagnieżdżenia.

Formalnie poprawne nawiasowanie można zdefiniować rekurencyjnie:

  • Ciąg pusty jest poprawnym nawiasowaniem; jego głębokość wynosi 0.
  • Jeśli ciąg w jest poprawnym nawiasowaniem o głębokości h, to ciąg (w), który powstaje przez dopisanie nawiasu otwierającego na początku i nawiasu zamykającego na końcu, jest poprawnym nawiasowaniem o głębokości h + 1.
  • Jeśli ciągi w1 i w2 są poprawnymi nawiasowaniami o głębokościach, odpowiednio, h1 i h2, to ciąg w1w2, który powstaje przez ich sklejenie, jest poprawnym nawiasowaniem o głębokości max(h1, h2)

Dane są poprawne nawiasowanie w i liczba H. Przez odwrócenie nawiasu rozumiemy zmianę pewnego nawiasu otwierającego na zamykający lub odwrotnie. Ile minimalnie odwróceń nawiasów trzeba wykonać, żeby uzyskać poprawne nawiasowanie o głębokości nie większej niż H?

입력

W pierwszym wierszu wejścia znajdują się dwie liczby całkowite n i H (n ≥ 2, 1 ≤ H ≤ n/2) oznaczające długość ciągu oraz maksymalną głębokość.

W drugim wierszu znajduje się n-literowy napis składający się ze znaków ( i ), będący poprawnym nawiasowaniem.

출력

Twój program powinien wypisać jedną liczbę całkowitą oznaczającą minimalną liczbę odwróceń nawiasów, jakie trzeba wykonać, aby uzyskać poprawne nawiasowanie o głębokości co najwyżej H.

제한

예제 입력 1

8 2
(()(()))

예제 출력 1

2

힌트

Wyjaśnienie przykładu: Ciąg (()(())) ma głębokość 3. Odwrócenie piątego i szóstego nawiasu da nam ciąg (()()()) o głębokości 2.

Jedno odwrócenie nawiasu nie wystarczy, bo nie uzyskamy w ten sposób poprawnego nawiasowania.

출처

Olympiad > Polish Olympiad in Informatics > POI 2022/2023 > Stage 1 2번

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

출처

대학교 대회

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

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