PICNIC 문제 질문드립니다...

  • tjtjdgur34
    tjtjdgur34

    계속해서 런타임 오류가 뜨네요....

    import java.util.Scanner;
    
    public class Main {
        static boolean[] taken = new boolean[10];
        static boolean[][] areFriends;
        static int studentn = 0;
    
        private static int operate() {
            Scanner scan = new Scanner(System.in);
            studentn = scan.nextInt();
            int pairs = scan.nextInt();
    
            areFriends = new boolean[10][10];
    
            for(int i = 0; i < pairs; i++) {
                int friend1 = scan.nextInt();
                int friend2 = scan.nextInt();
    
                areFriends[friend1][friend2] = true;
                areFriends[friend2][friend1] = true;
            }
    
            return countPairings(taken);
        }
    
        private static int countPairings(boolean[] t) {
            int firstFree = -1;
            int ret = 0;
    
            for(int i = 0; i < studentn; i++) {
                if(!t[i]) {
                    firstFree = i;
                    break;
                }
            }
    
            if(firstFree == -1) 
                return 1;
    
            for(int pairWith = firstFree+1; pairWith < studentn; pairWith++) {
                if(!t[pairWith] && areFriends[firstFree][pairWith]) {
                    t[firstFree] = t[pairWith] = true;
                    ret += countPairings(t);
                    t[firstFree] = t[pairWith] = false;
                }
            }
            return ret;
        }
    
        public static void main(String[] args) {
            int testCase = 0;
    
            Scanner scan = new Scanner(System.in);
            testCase = scan.nextInt();
            int[] total = new int[testCase];
    
            for(int i = 0; i < testCase; i++) {
                total[i] = operate();
            }
            for(int i = 0; i < testCase; i++) {
                System.out.println(total[i]);
            }
    
        }
    }
    

    7년 전
2개의 댓글이 있습니다.
  • Corea
    Corea

    Scanner scan을 main 함수에서 한 번, operate 함수에서 다시 한 번 정의하셨네요. 저도 확실히는 모르지만, 이 경우에 잘 작동이 되지 않을 것 같습니다.


    7년 전 link
  • tjtjdgur34
    tjtjdgur34

    답변 감사드립니다 ㅎㅎ


    7년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.