Time Limit: 1s
Memory Limit: 128MB
Dropbox 써보신분! 없다면 한번 써보세요, 여러대의 단말에서 동일한 자료를 seamless하게 공유할 수 있습니다. Dropbox 라는 서비스를 구성하기 위한 기술 요소 중 하나는 특정 파일에 대해 이미 업로드 되어 있는 버전과, 업로드를 할 버전을 비교하여 변경된 부분만 전송하는 기술입니다. 전문적인 용어로는 delta-update라고 합죠.
자, 7장의 마지막 문제에서는 2개의 파일이 주어졌을 때 차이가 발생한 시작 지점을 찾는 연습을 해봅시다.
최대 N번의 검사를 수행하며, 각각의 검사는 Doc1, Doc2의 2개의 문서가 주어집니다. 2개의 문서를 비교하여 동일할 경우 -1을, 차이가 있을 경우 차이가 나타나는 문장의 줄 번호를 기록합니다.
- Line 1 : 단일 정수 N
- N : 검사 수행 횟수
- 각 검사에 대해
- Line 1 : 2개의 정수 |Doc1|, |Doc2|
- |Doc1| : Doc1의 길이 (줄수)
- |Doc2| : Doc2의 길이 (줄수)
- Line 2 ~ (1+|Doc1|) : Doc1의 입력 문장
- Line (2+|Doc1|) ~ (1+|Doc1|+|Doc2|) : Doc2의 입력 문장
- Line 1 ~ N : DIFF 결과 값
- 각 검사에 대해
- Doc1과 Doc2가 동일할 경우 -1을 출력
- 차이날 경우 차이가 발생한 시작 줄 번호를 기록
4 4 4 line1 line2 line3 line4 line1 line2 Oops! Ctrl + C & Ctrl + V failed! line4 4 4 line1 line2 line3 line4 line1 line2 line3 line4 4 5 line1 line2 line3 line4 line1 line2 line3 line4 line5 5 4 line1 line2 Oops! Ctrl + C & Ctrl + V failed! line3 line4 line1 line2 line3 line4
3 -1 5 3
각 문서의 길이는 1000줄을 넘지 않습니다.
각 문장은 1000바이트를 넘지 않습니다.