Loading router/router.hpp +1 −1 Changes for router/router.hpp: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ using namespace std; #define ROUND_LIMIT 8192//4096//32768 // Max=65534(=2^16-2) #define PRINT_BOARD //#define PRINT_BOARD //#define PRINT_SEARCH // for router debug #define MAX_LINES 256 Loading solve (151 KiB) File changed.No diff preview for this file type. View original file View changed file solver.cpp +11 −11 Changes for solver.cpp: 11 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -696,7 +696,7 @@ int move_along_line(int mino, int l,int dir,int check_num){ break; } if(line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]]==l && (line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]==0 || line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]==l) &&put_data[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]==0){ cout <<"continue" << endl; //cout <<"continue" << endl; cout << mino_x+block_data[mino][i][0]-count << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]] <<endl; cout << mino_x+block_data[mino][i][0]-count-1 << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]] <<endl; Loading @@ -704,31 +704,31 @@ int move_along_line(int mino, int l,int dir,int check_num){ continue; } flag=1; cout << "cannot move x" << endl; cout << i << " " << check_num << endl; //cout << "cannot move x" << endl; //cout << i << " " << check_num << endl; break; }else{ cout << "pass x" << endl; //cout << "pass x" << endl; } if(line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]]==l && (line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]!=0 && line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]!=l)){ flag=1; cout << "break" << endl; /*cout << "break" << endl; cout << mino_x+block_data[mino][i][0]-count << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]] <<endl; cout << mino_x+block_data[mino][i][0]-count-1 << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]] <<endl; break; */break; } line_board[mino_x+block_data[mino][check_num][0]-count][mino_y+block_data[mino][check_num][1]]=0; } if(flag) break; new_x--; line_board[mino_x+block_data[mino][check_num][0]-count][mino_y+block_data[mino][check_num][1]]=0; cout << "move left" << endl; //cout << "move left" << endl; }else{ if(line_board[mino_x+block_data[mino][check_num][0]][mino_y+block_data[mino][check_num][1]-count]!=l) break; for(int i=1;i<=4;i++){ if(mino_y+block_data[mino][i][1]-count<1){ flag=1; cout << "out of grid y" << endl; //cout << "out of grid y" << endl; break; } //if(i==check_num) continue; Loading @@ -742,15 +742,15 @@ int move_along_line(int mino, int l,int dir,int check_num){ continue; } flag=1; cout << "can not move y" << endl; //cout << "can not move y" << endl; cout << i << " " << check_num << endl; break; }else{ cout << "pass" << endl; //cout << "pass" << endl; } if(line_board[mino_x+block_data[mino][i][0]][mino_y+block_data[mino][i][1]-count]==l && (line_board[mino_x+block_data[mino][i][0]][mino_y+block_data[mino][i][1]-count-1]!=0 && line_board[mino_x+block_data[mino][i][0]][mino_y+block_data[mino][i][1]-count-1]!=l)){ flag=1; cout << "break" << endl; //cout << "break" << endl; break; } } Loading Loading
router/router.hpp +1 −1 Changes for router/router.hpp: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ using namespace std; #define ROUND_LIMIT 8192//4096//32768 // Max=65534(=2^16-2) #define PRINT_BOARD //#define PRINT_BOARD //#define PRINT_SEARCH // for router debug #define MAX_LINES 256 Loading
solve (151 KiB) File changed.No diff preview for this file type. View original file View changed file
solver.cpp +11 −11 Changes for solver.cpp: 11 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -696,7 +696,7 @@ int move_along_line(int mino, int l,int dir,int check_num){ break; } if(line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]]==l && (line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]==0 || line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]==l) &&put_data[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]==0){ cout <<"continue" << endl; //cout <<"continue" << endl; cout << mino_x+block_data[mino][i][0]-count << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]] <<endl; cout << mino_x+block_data[mino][i][0]-count-1 << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]] <<endl; Loading @@ -704,31 +704,31 @@ int move_along_line(int mino, int l,int dir,int check_num){ continue; } flag=1; cout << "cannot move x" << endl; cout << i << " " << check_num << endl; //cout << "cannot move x" << endl; //cout << i << " " << check_num << endl; break; }else{ cout << "pass x" << endl; //cout << "pass x" << endl; } if(line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]]==l && (line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]!=0 && line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]]!=l)){ flag=1; cout << "break" << endl; /*cout << "break" << endl; cout << mino_x+block_data[mino][i][0]-count << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count][mino_y+block_data[mino][i][1]] <<endl; cout << mino_x+block_data[mino][i][0]-count-1 << " " << mino_y+block_data[mino][i][1] << " " << line_board[mino_x+block_data[mino][i][0]-count-1][mino_y+block_data[mino][i][1]] <<endl; break; */break; } line_board[mino_x+block_data[mino][check_num][0]-count][mino_y+block_data[mino][check_num][1]]=0; } if(flag) break; new_x--; line_board[mino_x+block_data[mino][check_num][0]-count][mino_y+block_data[mino][check_num][1]]=0; cout << "move left" << endl; //cout << "move left" << endl; }else{ if(line_board[mino_x+block_data[mino][check_num][0]][mino_y+block_data[mino][check_num][1]-count]!=l) break; for(int i=1;i<=4;i++){ if(mino_y+block_data[mino][i][1]-count<1){ flag=1; cout << "out of grid y" << endl; //cout << "out of grid y" << endl; break; } //if(i==check_num) continue; Loading @@ -742,15 +742,15 @@ int move_along_line(int mino, int l,int dir,int check_num){ continue; } flag=1; cout << "can not move y" << endl; //cout << "can not move y" << endl; cout << i << " " << check_num << endl; break; }else{ cout << "pass" << endl; //cout << "pass" << endl; } if(line_board[mino_x+block_data[mino][i][0]][mino_y+block_data[mino][i][1]-count]==l && (line_board[mino_x+block_data[mino][i][0]][mino_y+block_data[mino][i][1]-count-1]!=0 && line_board[mino_x+block_data[mino][i][0]][mino_y+block_data[mino][i][1]-count-1]!=l)){ flag=1; cout << "break" << endl; //cout << "break" << endl; break; } } Loading