2015 C Chapter 7 (Week 13)

From: 2015-05-24 00:00:00 To: 2015-06-14 00:00:00 Now: 2024-11-21 21:30:41 Status: Public

D - 연습 7.4 DIFF

Time Limit: 1s Memory Limit: 128MB

Submissions: 440 Solved: 157
Description

Dropbox 써보신분! 없다면 한번 써보세요, 여러대의 단말에서 동일한 자료를 seamless하게 공유할 수 있습니다. Dropbox 라는 서비스를 구성하기 위한 기술 요소 중 하나는 특정 파일에 대해 이미 업로드 되어 있는 버전과, 업로드를 할 버전을 비교하여 변경된 부분만 전송하는 기술입니다. 전문적인 용어로는 delta-update라고 합죠.

자, 7장의 마지막 문제에서는 2개의 파일이 주어졌을 때 차이가 발생한 시작 지점을 찾는 연습을 해봅시다.

최대 N번의 검사를 수행하며, 각각의 검사는 Doc1, Doc2의 2개의 문서가 주어집니다. 2개의 문서를 비교하여 동일할 경우 -1을, 차이가 있을 경우 차이가 나타나는 문장의 줄 번호를 기록합니다.

Input

- 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의 입력 문장

Output

- Line 1 ~ N : DIFF 결과 값

    - 각 검사에 대해

    - Doc1과 Doc2가 동일할 경우 -1을 출력

    - 차이날 경우 차이가 발생한 시작 줄 번호를 기록

Sample Input
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
Sample Output
3
-1
5
3
Hint

각 문서의 길이는 1000줄을 넘지 않습니다.

각 문장은 1000바이트를 넘지 않습니다.