itlockit   5년 전

이클립스에서 직접 예제 데이터 넣으면 결과가 출력되는데

백준에서는 런타임에러가 나는 이유를 모르겠습니다.

djm03178   5년 전

예제 뿐만 아니라 다른 입력도 넣어봐야 하는데 예제만 넣어보니까 결과가 출력되는 겁니다.

질문을 올릴 때 위에 나오는 "아래 공지사항을 먼저 읽고 글을 작성해 주세요." 를 읽으셨나요? 읽으셨다면 다음과 같은 내용을 어기지 않으셨을 겁니다.

  • 질문 검색을 먼저 해서 자신에게 필요한 답변이나 반례가 없는지 확인하고 질문을 남겨주세요.
  • Visual Studio에서는 되는데, 이클립스에서는 되는데, 엑스코드에서는 되는데, 실행은 되는데, 제 컴파일러에서는 되는데, gcc에서는 되는데, 등등의 표현도 사용하지 말아주세요.
  • 예제만 채점하는 것이 아니기 때문에, 예제가 잘 나오는 것도 큰 의미가 없습니다. 질문 게시판에서 해당 문제를 검색하거나, 직접 다른 데이터를 만들어서 테스트해보세요.

itlockit   5년 전

다른 입력도 넣어봣는데 잘 나옵니다.

틀렸습니다가 아니라 런타임 에러가 뜨는 이유가 궁금해서 글 올린거에요.

djm03178   5년 전

이 질문의 아래 아래에 있는 질문에 제가 달았던 데이터를 입력 형식만 맞춰서 돌렸는데 런타임 에러가 나옵니다.

https://ideone.com/ftkVh6

djm03178   5년 전

참고로 이클립스에서 돌리셨다고 했는데 이클립스에서 돌려봐도 런타임 에러가 납니다. 여기는 스택이 터지기 전에 응답 없음으로 먼저 처리해버린 것 같지만요.

https://doyak.s-ul.eu/Rcns4ZbS

itlockit   5년 전

이유를 찾은것 같습니다. 

트리가 전부다 연결되어있을때

재귀호출을 무한으로 호출되어서 그런것 같습니다.

혹시 이런 문제들의 입력데이터를 따로 구하는 방법은 없는건가요?

djm03178   5년 전

일부 대회는 데이터를 공개하기도 하지만 그건 그 문제의 출처 사이트에서 찾아봐야 하고, BOJ에서는 기본적으로 데이터를 공개하지 않습니다.

이 정도로 질문이 많은 문제라면 질문 게시판에 있는 것만 다 통과하더라도 거의 맞는 코드가 아닐까 싶습니다.

한 가지 더 문제가 있는데, A와 B가 연결되어 있다면 B와 A도 연결되어 있는 것이니 다음과 같은 케이스에서 1이 출력되어야 합니다.

2

1

2 1

itlockit   5년 전

맞네요 부모를 탐색해야 한다는 생각은 못해봣습니다.

감사합니다.

itlockit   5년 전

5
6
1 2
2 3
3 4
4 1
1 3
4 5

답은 4

3
2
2 3
1 2

답은 2

5
3
1 3
4 5
3 2
답은 3

5
3
3 4
3 5
4 1
답은 3

4
3
1 4
2 4
2 3
답은 3

질문게시판에서 이렇게 반례들 찾아서 넣어봣는데 틀렷다고 나옵니다.

어떤 반례가 있을까요?

djm03178   5년 전

한 컴퓨터에 연결된 컴퓨터의 수가 2개 이하라는 보장은 없습니다.

4

3

1 2

1 3

1 4

의 정답은 3입니다.


itlockit   5년 전

감사합니다.

덕분에 해결했습니다.

많은것을 배운 기회가 되었네요.

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