안녕하세요,picnic 문제 풀고있는데요
RTE라고 계속 떠서 한줄씩 주석처리하면서 제출해본결과
이 글에서 29라인에 sc.nextLine()에서 오류가 나네요
로컬에선 물론 문제가 없고 오류가 나는게 이해가안되서..
질문드립니다
importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;publicclassMain{publicstaticintresult=0;publicstaticvoidmain(Stringargs[])throwsIOException{intcaseNum=0;introw=0;Stringtemp="";Scannersc=newScanner(System.in);caseNum=Integer.parseInt(sc.nextLine());List<ArrayList<ArrayList<Character>>>boards=newArrayList<ArrayList<ArrayList<Character>>>();for(inti=0;i<caseNum;i++){boards.add(newArrayList<ArrayList<Character>>());temp=sc.nextLine();row=Integer.parseInt(temp.split(" ")[0]);for(intj=0;j<row;j++){boards.get(i).add(newArrayList<Character>());temp=sc.nextLine();//오류발생부분for(intk=0;k<temp.length();k++){boards.get(i).get(j).add(temp.charAt(k));}}}for(inti=0;i<caseNum;i++){solver(boards.get(i),boards.get(i).size(),boards.get(i).get(0).size(),0);System.out.println(result);result=0;}sc.close();return;}publicstaticvoidsolver(ArrayList<ArrayList<Character>>board,introw,intcol,intdepth){//왼쪽 방향으로 진행, 끝에 도달하면 아래행으로 넘어감for(inti=0;i<row;i++){for(intj=0;j<col;j++){//빈칸이 처음 발견되는 곳에서 시작if(board.get(i).get(j)=='.'){//ㄱ자 모양 벽돌을 놓을수 있는 경우의 수는 총 다섯가지, 가능한 경우에 재귀호출, return될 경우 벽돌을 리셋if(i+1<row&&j+1<col&&board.get(i).get(j+1)=='.'&&board.get(i+1).get(j)=='.'){board.get(i).set(j,'#');board.get(i).set(j+1,'#');board.get(i+1).set(j,'#');solver(board,row,col,depth+1);board.get(i).set(j,'.');board.get(i).set(j+1,'.');board.get(i+1).set(j,'.');}if(i+1<row&&j+1<col&&board.get(i).get(j+1)=='.'&&board.get(i+1).get(j+1)=='.'){board.get(i).set(j,'#');board.get(i).set(j+1,'#');board.get(i+1).set(j+1,'#');solver(board,row,col,depth+1);board.get(i).set(j,'.');board.get(i).set(j+1,'.');board.get(i+1).set(j+1,'.');}if(i+1<row&&j+1<col&&board.get(i+1).get(j+1)=='.'&&board.get(i+1).get(j)=='.'){board.get(i).set(j,'#');board.get(i+1).set(j,'#');board.get(i+1).set(j+1,'#');solver(board,row,col,depth+1);board.get(i).set(j,'.');board.get(i+1).set(j,'.');board.get(i+1).set(j+1,'.');}if(i-1>=0&&j+1<col&&board.get(i).get(j+1)=='.'&&board.get(i-1).get(j+1)=='.'){board.get(i).set(j,'#');board.get(i).set(j+1,'#');board.get(i-1).set(j+1,'#');solver(board,row,col,depth+1);board.get(i).set(j,'.');board.get(i).set(j+1,'.');board.get(i-1).set(j+1,'.');}if(i+1<row&&j-1>=0&&board.get(i+1).get(j-1)=='.'&&board.get(i+1).get(j)=='.'){board.get(i).set(j,'#');board.get(i+1).set(j-1,'#');board.get(i+1).set(j,'#');solver(board,row,col,depth+1);board.get(i).set(j,'.');board.get(i+1).set(j-1,'.');board.get(i+1).set(j,'.');}return;}}}//최초에 모두 막힌벽돌이었을 경우 성공으로 처리되는 예외를 방지하기 위함if(depth!=0)result=result+1;return;}}
gugama
안녕하세요,picnic 문제 풀고있는데요
RTE라고 계속 떠서 한줄씩 주석처리하면서 제출해본결과
이 글에서 29라인에 sc.nextLine()에서 오류가 나네요
로컬에선 물론 문제가 없고 오류가 나는게 이해가안되서..
질문드립니다
11년 전