From ad6fb4370e3ad091bdb8725aa27d32c3f2fe2478 Mon Sep 17 00:00:00 2001 From: "makoto.nishizawa" Date: Wed, 24 Jul 2019 15:19:27 +0900 Subject: [PATCH] made grid --- main.cpp | 4 +- solve | Bin 115208 -> 114992 bytes solver.cpp | 125 ++++++++++++++++++++++++++++++----------------------- 3 files changed, 74 insertions(+), 55 deletions(-) diff --git a/main.cpp b/main.cpp index e9ceaf1..81a0ddd 100644 --- a/main.cpp +++ b/main.cpp @@ -5,8 +5,8 @@ int main(void){ read_problem(); - H=20; - W=20; + H=40; + W=40; solver(); print_answer(); diff --git a/solve b/solve index 080fe21197bb8c0c0ad65cbfa6bcdda00337b43a..8ecd705863e12d7502a54fdbc5e1260160933b21 100644 GIT binary patch delta 29021 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 delta 29683 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 T+n*KcA=5-@19){ + if(x+block_data[i][j][0]>W-1){ return 0; } - if(y+block_data[i][j][1]>19){ + if(y+block_data[i][j][1]>H-1){ return 0; } if(board_data[x+block_data[i][j][0]][y+block_data[i][j][1]]!=0){ @@ -127,7 +127,7 @@ int check_put_mino(int i,int x, int y){// check block#i can put on x,y void data_mino(int i, int x,int y){ - std::cout << "put mino "<< i << std::endl; + std::cout << "put mino "<< i << "on" << x <<" " << y << std::endl; for(int j=0;j<100;j++){ if(check_put_mino(i,x,y)){ for(int l=1;l<5;l++){ @@ -167,22 +167,38 @@ void put_mino(){ int index=0; int next=0; int x=0; + int another=0; auto itr=order_w.begin(); while(true){ + another=0; for(index=order_w.size()-1;index>=0;index--){ // find next block if(done_block[order_w[index]]==0){ next=order_w[index]; + another=1; //done_block[next]=1; //check_block[next]=1; break; } } + if(index==-1){ + for(index=blocks;index>0;index--){ + if(done_block[index]==0){ + next=index; + break; + } + } + if(index==0) break; // if all blocks are searched + } if(index==-1) break; // if all blocks are searched - itr=order_w.begin(); - for(int i=0;i=0;index--){ // find next block if(done_block[order_h[index]]==0){ next=order_h[index]; + another=1; break; } } + if(index==-1){ + std::cout << "left block search" << std::endl; + for(index=blocks;index>0;index--){ + if(done_block[index]==0){ + next=index; + break; + } + } + if(index==0) break; // if all blocks are searched + } //std::cout << "now" << std::endl; - if(index==-1) break; // if all blocks are searched - itr=order_h.begin(); - for(int i=0;imax_w) max_w = block_data[order_w[j]][k][0]; } - for(int j=0;jmax_h) max_h = block_data[next_put][k][1]; } - put_block[next_put]=1; - print_answer(); + height_c+=max_h+1; } + print_answer(); //int next; int mino_x,mino_y; /*for(int i=0;i