From fee62f0c9e5b3b9ebc0f466802a8306a4cc409ec Mon Sep 17 00:00:00 2001 From: royus <> Date: Sun, 26 Aug 2018 05:41:42 +0900 Subject: [PATCH] got output (unfinished) --- source/.gitignore | 2 +- source/solve.sh | 38 ++++++++++++++++++++++++++++++++++++++ source/solver.c | 32 ++++++++++++++------------------ 3 files changed, 53 insertions(+), 19 deletions(-) create mode 100644 source/solve.sh diff --git a/source/.gitignore b/source/.gitignore index 33cdba3..d05ea12 100644 --- a/source/.gitignore +++ b/source/.gitignore @@ -1,3 +1,3 @@ tags tags.lock -.x_* +.* diff --git a/source/solve.sh b/source/solve.sh new file mode 100644 index 0000000..5734b38 --- /dev/null +++ b/source/solve.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# solve.sh +# Last Change: 2018/08/26 (Sun) 05:34:14. + +./.x_solver < ../ADC2017_Q_A/all/Q/Q01.txt >>myans/A01.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q02.txt >>myans/A02.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q03.txt >>myans/A03.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q04.txt >>myans/A04.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q05.txt >>myans/A05.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q06.txt >>myans/A06.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q07.txt >>myans/A07.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q08.txt >>myans/A08.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q09.txt >>myans/A09.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q10.txt >>myans/A10.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q11.txt >>myans/A11.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q12.txt >>myans/A12.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q13.txt >>myans/A13.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q14.txt >>myans/A14.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q15.txt >>myans/A15.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q16.txt >>myans/A16.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q17.txt >>myans/A17.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q18.txt >>myans/A18.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q19.txt >>myans/A19.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q20.txt >>myans/A20.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q21.txt >>myans/A21.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q22.txt >>myans/A22.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q23.txt >>myans/A23.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q24.txt >>myans/A24.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q25.txt >>myans/A25.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q26.txt >>myans/A26.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q27.txt >>myans/A27.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q28.txt >>myans/A28.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q29.txt >>myans/A29.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q30.txt >>myans/A30.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q31.txt >>myans/A31.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q32.txt >>myans/A32.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q33.txt >>myans/A33.txt & +./.x_solver < ../ADC2017_Q_A/all/Q/Q34.txt >>myans/A34.txt & diff --git a/source/solver.c b/source/solver.c index 2b97250..0261f7d 100644 --- a/source/solver.c +++ b/source/solver.c @@ -1,7 +1,7 @@ /* solver.c */ -/* Last Change: 2018/08/26 (Sun) 05:04:28. */ +/* Last Change: 2018/08/26 (Sun) 05:26:10. */ -#define MAX_ATTEMPS lines*10 +#define MAX_ATTEMPS 100000 #include #include @@ -77,23 +77,19 @@ int randline(void){ //1-lines -> 1-lines return rand()%lines+1; } -void shuffle(int array[]){ - for(int i=0;i<6;i++){ - int j=rand()%6; - int t=array[i]; - array[i]=array[j]; - array[j]=t; - } -} - int available(int startx,int starty, int startz){ if(avail[startz][starty][startx]==-1) //goal return 1; - if(avail[startz][starty][startx]==2) //visited + if(avail[startz][starty][startx]==2||avail[startz][starty][startx]==3) //visited return 0; avail[startz][starty][startx]=2; - shuffle(searchorder); - int i; + int i,j,k; + for(i=0;i<6;i++){ + j=rand()%6; + k=searchorder[i]; + searchorder[i]=searchorder[j]; + searchorder[j]=k; + } for(i=0;i<6;i++) switch(searchorder[i]){ case 0: @@ -124,7 +120,7 @@ int connectable(int linea,int lineb){ for(i=0;i