테스트 케이스 개수를 왜 임의로 잡으셨나요?
온라인 저지 환경(및 모든 대회 환경)에서는 각 테스트 케이스에 대해 입력과 출력을 구분할 필요가 없습니다.
다시 말해,
첫 케이스 입력
첫 케이스 출력
두번째 케이스 입력
두번째 케이스 출력
...
으로 프로그램이 수행되어도 아무 상관이 없습니다. 입력 스트림과 출력 스트림은 별개이고, 채점 프로그램은 출력 스트림만 확인하기 때문입니다.
10451번 - 순열 사이클
테스트 케이스 개수를 왜 임의로 잡으셨나요?
온라인 저지 환경(및 모든 대회 환경)에서는 각 테스트 케이스에 대해 입력과 출력을 구분할 필요가 없습니다.
다시 말해,
첫 케이스 입력
첫 케이스 출력
두번째 케이스 입력
두번째 케이스 출력
...
으로 프로그램이 수행되어도 아무 상관이 없습니다. 입력 스트림과 출력 스트림은 별개이고, 채점 프로그램은 출력 스트림만 확인하기 때문입니다.
테스트 케이스의 개수와 배열의 사이즈가 아무런 관계가 없도록 코드를 작성하셔야 한다는 의미입니다.
단적인 예로, 제가
2
1 2
가 101만 개 들어 있는 테스트 케이스를 추가하는 것만으로, 위 코드가 항상 런타임 에러가 나는 입력을 만들어 데이터를 추가할 수가 있습니다. (아마 이미 있을 수도 있습니다)
아래 알고리즘대로 작성해보세요.
0. 1000칸짜리 배열 선언
현재 코드의 흐름은 N과 배열을 T번 입력받고, 그 이후 T번 풀고 있는데, 이 방식은 다시 말씀드리지만 T가 101만인 입력 데이터를 추가하는 것만으로 런타임 에러를 만들 수가 있습니다. 만약 101만으로 바꾸시면? 102만으로, 102만으로 바꾸시면 103만으로 데이터를 추가하여 계속 런타임 에러를 낼 수도 있습니다. 이런 불상사가 현재 발생하고 있는 것일 수도 있고요.
댓글을 작성하려면 로그인해야 합니다.
alsghdjrk 5년 전
테스트 케이스 갯수가 안나와있어서 임의로 잡았습니다.
dfs 를분하지않고 main함수에 넣어서 풀었습니다.
queue 는 클리어 함수가없어서 q = queue<int>(); 를 사용했습니다.
어디서 런타임 에러가 나오는지 모르겠습니다.