https://www.acmicpc.net/problem/10799

 

10799번: 쇠막대기

여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다. 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다. 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다. 레이저는 어떤 쇠막대기의 양 끝점과

www.acmicpc.net

문제를 읽어보면  '(' 다음에 바로 ')' 이렇게 나오면 레이저가 됩니다 ==>()

그렇지 않고 그냥 '(' 만 있다면 파이프의 시작 부분이 되는것입니다. 

그리고 ')'는 파이프가 끝나는 부분이 됩니다. 

 

그러므로 파이프가 생성될 때 pipe_counter를 1씩 증가시켜주고 레이저가 나온다면 우선 pipe_count만큼 잘리게 됩니다.

파이프가 끝나게 되면 정답에 +1을 해주어 총 파이프 한개가 레이저에 의해 잘린 횟수가 정답에 더해지게 됩니다.

 

 

 

 

 

 

'Programming > Baekjoon' 카테고리의 다른 글

BOJ ) 10866번 덱  (0) 2019.06.25
BOJ ) 1158번 조세퍼스문제  (0) 2019.05.31
BOJ ) 10845_큐  (0) 2019.05.30
BOJ ) 1406 에디터  (0) 2019.05.25
BOJ ) 9012번 괄호  (0) 2019.05.23

+ Recent posts