주식 차트
시간 제한5초메모리 제한512 MB
n개의 주가 수열을 여러 그룹으로 나눌 때, 각 그룹 안에서 두 꺾은선이 어느 시점에서도 교차하거나 접하지 않도록 하는 최소 그룹 수를 구한다.
문제
신문의 연말 경제 결산 기사를 쓰면서, 지난 한 해 동안 주가가 어떻게 움직였는지 보여줄 그래프를 넣기로 했다. 종목 개의 가격을 한 해의 같은 시점 곳에서 측정한 값을 쓴다.
한 종목의 단순 차트는 점 , , , 을 차례대로 선분으로 이은 그림이다. 여기서 는 번 종목의 번째 시점 가격이다.
지면을 아끼려고 겹친 차트를 쓴다. 겹친 차트는 단순 차트 하나 이상을 한 그림에 겹쳐 그린 것으로, 여러 종목의 가격을 종목마다 선 하나씩 그려서 보여준다. 어느 선이 어느 종목인지 헷갈리지 않도록, 한 겹친 차트 안의 선은 서로 교차하거나 닿아서는 안 된다.
종목 개의 시점 곳 가격이 주어질 때, 모든 종목의 가격을 보여주는 데 필요한 겹친 차트의 최소 개수를 구하여라.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. 이어서 테스트 케이스 개가 각각 다음 형식으로 주어진다.
n k
price[0][0] price[0][1] ... price[0][k-1]
price[1][0] price[1][1] ... price[1][k-1]
...
price[n-1][0] price[n-1][1] ... price[n-1][k-1]
첫 줄에 종목 수 과 시점 수 가 주어지고, 다음 개 줄에 각 종목의 가격이 시점 순서대로 주어진다. 는 정수이다.
제한
출력
테스트 케이스마다 한 줄에 Case #X: Y 형식으로 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 모든 종목의 가격을 보여주는 데 필요한 겹친 차트의 최소 개수이다.