저도 진호님처럼 짰는데, 클래스를 만들고 STL까지 넣어서 짜다보니 양이 좀 많아졌네요...
아주 심플한 해결방법이 있더군요.
입력 데이터는 (x, y) 이런 식으로 가로선의 위치가 들어옵니다.
이 위치를 priority_queue에 push합니다.
예를 들어서 4개의 세로 선이 있고 각각의 선에 ABCD라는 아이디가 부여되었다고 생각합니다.
그리고 큐에서 순차적으로 pop하면서 아이디의 위치를 바꾸어줍니다.
만약 1과 2번 다리사이에 가로선이 왔다면 A와 B의 위치를 바꾸어줍니다.
이런 식으로 위에서부터 차례대로 읽으면서 큐가 완전히 빌때까지 읽어오면 결과가 한 번에 튀어나오네요.
파일 읽기에서 결과 파일 생성까지 300바이트대에서 해결되네요..
|