woogie   3년 전

안녕하세요 이해가 안가는 부분이 있어서 질문드립니다.

유기농 배추 예제를 입력받을때 다음과 같이 한번에 넣었는데

2
10 8 17 //1번째 입력
0 0
1 0
1 1
4 2
4 3
4 5
2 4
3 4
7 4
8 4
9 4
7 5
8 5
9 5
7 6
8 6
9 6
10 10 1 //2번째 입력부분 
5 5

2번째 10 10 1 입력시에도 잘 입력 되는 이유가 궁금합니다.

처음에는 한번만에 입력을 받아야한다고 생각해 1번째 입력변수와 2번째 입력변수를 모두 다르게 주고 입력을 했습니다.

그런데 코드도 복잡하고 다른사람들 풀이를 보니 반복문을 이용해서 변수를 같게해도 답이 나오더라구요.

1번째 입력 후 1번째 출력

2번째 입력 후 2번째 출력 

이렇게 되야한다고 생각하는데

전체입력 후 1번째 2번째 출력이되니 이해가 가질 않습니다 도와주시면 감사하겠습니다. 

baxter   3년 전

맨 첫 줄에 T를 입력 받고 있습니다.

그 후 T번 만큼의 반복문을 돌고 있습니다.

즉, 반복문 안의 코드 순서를 보면 N, M, K를 입력 받고 그 다음 K 번 x와 y를 입력 받고 있습니다.

그 후 dfs 함수 수행 후 결과 출력 합니다.

이 과정을 T번 반복한다는 의미입니다.

따라서 맨 처음 T를 2로 입력하셨기 때문에, 

첫 번째 N, M, K인 10, 8, 17을 입력 받고

17번의 x, y를 입력 받은 후 dfs 수행 -> 결과 출력

두 번째 N, M, K인 10 10 1을 입력 받고

1번의 x, y를 입력 받은 후 dfs 수행 -> 결과 출력

의 과정을 수행하는 것 입니다.

참고로 N, M, K는 T번 반복하면서 새로운 값을 덮어쓰기 때문에 한번만 선언 해도 되는 것 입니다.

woogie   3년 전

깔끔하고 빠른답변 감사합니다.

궁금했던 부분이 시원하게 해결됬네요!

감사합니다 :D


댓글을 작성하려면 로그인해야 합니다.