From a89a3cf4cfe697e821ba3096810d1daefe8b204e Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sun, 17 Sep 2023 17:19:48 -0500 Subject: [PATCH] Monte Carlo --- .../ChallengeLeaguePointSolver.cpp | 93 +++++++++++++++++- .../ChallengeLeaguePointSolver.exe | Bin 0 -> 50688 bytes ChallengeLeaguePointSolver/output.txt | Bin 0 -> 5802 bytes 3 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 ChallengeLeaguePointSolver/ChallengeLeaguePointSolver.exe create mode 100644 ChallengeLeaguePointSolver/output.txt diff --git a/ChallengeLeaguePointSolver/ChallengeLeaguePointSolver.cpp b/ChallengeLeaguePointSolver/ChallengeLeaguePointSolver.cpp index 71de8e2..108efe5 100644 --- a/ChallengeLeaguePointSolver/ChallengeLeaguePointSolver.cpp +++ b/ChallengeLeaguePointSolver/ChallengeLeaguePointSolver.cpp @@ -10,10 +10,10 @@ std::string slurp(std::ifstream& in) { } struct ScoreData{ - int difficulty; + int difficulty=0; std::string song; - int totalEX; - int ex1,ex2,ex3; + int totalEX=0; + int ex1=0,ex2=0,ex3=0; std::string str()const{ return "["+std::to_string(difficulty)+"] "+song+": "+std::to_string(totalEX)+" total, "+" EX1: "+std::to_string(ex1)+" EX2: "+std::to_string(ex2)+" EX3: "+std::to_string(ex3); } @@ -23,6 +23,11 @@ struct ScoreData{ } }; +struct Selection{ + std::vector>selectedScore; + int totalEX=0; +}; + std::string GetNext(int&marker,std::string str){ int originalMarker=marker; marker=str.find_first_of(',',originalMarker)+1; @@ -30,7 +35,6 @@ std::string GetNext(int&marker,std::string str){ }; int main(){ - std::vectordataA,dataB; std::ifstream file("team.csv"); std::string line; @@ -64,10 +68,89 @@ int main(){ stoi(GetNext(marker,line))} ); } - + std::cout<<"File Contents:"<bestSelections; + while(true){ + int Aselections=6,Bselections=6; + Selection selection; + int totalEX=0; + int hash=0; + std::vectorrandomChoice={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23}; + for(int iSel=0;iSel<4;iSel++){ + int arrInd=rand()%randomChoice.size(); + int randSongIndex=randomChoice[arrInd]; + randomChoice.erase(randomChoice.begin()+arrInd); + ScoreData*dataRef; + if(randSongIndex<12){ + Aselections--; + dataRef=&dataA[randSongIndex]; + }else{ + Bselections--; + dataRef=&dataB[randSongIndex-12]; + } + selection.selectedScore.push_back({0,randSongIndex}); + selection.totalEX+=dataRef->ex1; + totalEX+=dataRef->ex1; + } + for(int iSel=0;iSel<4;iSel++){ + int arrInd=rand()%randomChoice.size(); + int randSongIndex=randomChoice[arrInd]; + while(Aselections==0&&randSongIndex<12||Bselections==0&&randSongIndex>=12){ + arrInd=rand()%randomChoice.size(); + randSongIndex=randomChoice[arrInd]; + } + randomChoice.erase(randomChoice.begin()+arrInd); + ScoreData*dataRef; + if(randSongIndex<12){ + Aselections--; + dataRef=&dataA[randSongIndex]; + }else{ + Bselections--; + dataRef=&dataB[randSongIndex-12]; + } + selection.selectedScore.push_back({1,randSongIndex}); + selection.totalEX+=dataRef->ex2; + totalEX+=dataRef->ex2; + } + for(int iSel=0;iSel<4;iSel++){ + int arrInd=rand()%randomChoice.size(); + int randSongIndex=randomChoice[arrInd]; + while(Aselections==0&&randSongIndex<12||Bselections==0&&randSongIndex>=12){ + arrInd=rand()%randomChoice.size(); + randSongIndex=randomChoice[arrInd]; + } + randomChoice.erase(randomChoice.begin()+arrInd); + ScoreData*dataRef; + if(randSongIndex<12){ + Aselections--; + dataRef=&dataA[randSongIndex]; + }else{ + Bselections--; + dataRef=&dataB[randSongIndex-12]; + } + selection.selectedScore.push_back({2,randSongIndex}); + selection.totalEX+=dataRef->ex3; + totalEX+=dataRef->ex3; + } + if(bestSelections.size()>0){ + int bestEX=bestSelections.back().totalEX; + if(totalEX>bestEX){ + std::cout<<"New best EX combination found: "+std::to_string(totalEX)+". Selections are:"<&song:selection.selectedScore){ + std::cout<<"P"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 V{#0qonC_mQoaUtmU;onx{0ol$DbfG{ literal 0 HcmV?d00001 diff --git a/ChallengeLeaguePointSolver/output.txt b/ChallengeLeaguePointSolver/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..50927be9a4d4b39cee83f9ebc1e91f597b543f28 GIT binary patch literal 5802 zcmb_g+iu%N5S`Z)=s&3ML7^KdGC&`kSSj3AZeY1>fT9nw<;JQV8Ia`~4f5?x&Y9WO zEQy3P0YZ?tTCO&cb0f*{vbl-Ql~^-8M4V{EW8hiI zS}yd-w^+YcwAYCC9;2N+059>_Gk6{2-G*m;h#m0^WvV=gJK`xZM-`}m;aMuj9iD%V z*eg|!(Wimc6r;B26Rao$^BA3&M`12TpFxipeHzqY%tvK+tvW36{a?J_;ae4lF>H2) zidS73L%pgiBX~l*RU{{}kRv&jU*$*nO-|$&=&@7;v!KKbe8{p1L5BEw1;H?UiyD-O z9V2I|!4YzE5AE;3c_kk-2guyx7U0kvH^=%a^J-krLW}t`qCFszWm*{+mQaRTH8Gq4 zOZ3&e{#vA5*`15|`UfKJP)lpoV~guOMyHs4RFxeAnYUpW*7B_x!&1JJOSwTDVrK>O zYKk>;r6OrQ#c$@Ot2$Gz3(eatblszlE^G1Vd^4{Cm}0IrYa8Qjz-k2-?-6r@r*EO> zK>ks8Z*=AcKCkur0H0*bE<+_O0N!BBC`xTYPiGgY_AffDPd zz{VcdtcdmVbMSja>|MyOeaJqWXLn^~#V*cHz^6AM;EHNR^HM__K3EaMXj0*DP8iIC3tu*@!f?T{S2BQ;l__4*_5WRGFT-y!lFj8@v4s{0vLYOa6` zDsoMG-CJZTd!^@yh5U!#E!5w&GA@GBJd3q;U@F~|Y4wgj4`((zL3*SN8QaFt&qvML zTCe{JClfoN9K%cY(P7xh=uul2TxzzgDUmm`UH3}VahyJq%Yn)Pj}6A=jd4ysQ^y4VNE z&6&pz&RJI>)vJfZsf|pt$mzU JKc7bCp8@Y_2