알고리즘 문제해결전략 2.3 순서를 강제할 수 있을까? 풀이좀요..

  • sanghogu
    sanghogu

    #알고리즘 문제 해결 전략
    책 37, 38p 문제인데 해당 문제의 풀이법을 알고싶습니다.
    책에서보니 2^5 시간복잡도로 해결이가능한것같은데
    어떻게해야할지 갈피가 잡히지 않습니다.

    순서를 강제해서 풀어봐도 꼭 1개가 남습니다.

    아래코드는 제가 작성해본 코드입니다.

    첫째 줄 하나씩 클릭해도 풀어지지 않고,
    첫째 줄을 클릭하지않아도 풀어지지 않습니다

    1= 불 꺼짐
    0= 불 켜짐

            int [][]ints = {
                {
                    0, 1, 1, 0, 1
                },
                {
                    1, 1, 1, 0, 0
                },
                {
                    0, 1, 0, 1, 1
                },
                {
                    0, 0, 0, 0, 0
                },
                {
                    1, 1, 0, 0, 0
                }
            };
    
            for (int j = 0; j < 5; j++) {
                int [][]copys = new int[5][5];
                for (int i = 0; i < 5; i++) {
                    copys[i] = ints[i].clone();
                }
                //첫째 줄 하나씩 클릭
                onClick(copys, 0, j);
                for (int row = 1; row < copys.length; row++) {
                    for (int i1 = 0; i1 < copys[row].length; i1++) {
                        if(copys[row-1][i1] == 1) {
                            onClick(copys, row, i1);
                        }
                    }
                }
                for (int[] anInt : copys) {
                    for (int i : anInt) {
                        System.out.printf("%4s", i == 1 ? "□":"■");
                    }
                    System.out.println();
                }
                System.out.println();
            }
    

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