From a72d6b72e295119a5e8467ac3aa0b4e90da9559f Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Thu, 22 Dec 2022 13:59:38 -0600 Subject: [PATCH] Part 1 done! Co-authored-by: sigonasr2 --- C++ProjectTemplate | Bin 174384 -> 178480 bytes main.cpp | 125 +- out | 5272 ++++++++++++++++++++------------------------ testinput | 1 + 4 files changed, 2410 insertions(+), 2988 deletions(-) create mode 100644 testinput diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 273b5a0ead21598469cf5b833a1a73b08822c27e..1f631c4ff97a692714fd91d82b2eb23c932658b7 100755 GIT binary patch delta 59680 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 diff --git a/main.cpp b/main.cpp index 45c4e3c..c1a3e55 100644 --- a/main.cpp +++ b/main.cpp @@ -8,95 +8,64 @@ struct Blueprint{ int oreRobotCost,clayRobotCost,obsidianRobotCost1,obsidianRobotCost2,geodeRobotCost1,geodeRobotCost2; }; -int runSimulation(Blueprint print){ - int minute=0; - int ore=0,clay=0,obsidian=0,geodes=0; - int oreRobots=1/*We start with 1 free ore robot*/,clayRobots=0,obsidianRobots=0,geodeRobots=0; - - int oreRequired=print.oreRobotCost+print.clayRobotCost+print.obsidianRobotCost1+print.geodeRobotCost1; - int clayRequired=print.obsidianRobotCost2; - int obsidianRequired=print.geodeRobotCost2; - int geodeRequired=print.geodeRobotCost2; - - int totalRequired=oreRequired+clayRequired+obsidianRequired+1; +enum Priority{ + OREROBOT, + CLAYROBOT, + OBSIDIANROBOT, +}; - float oreRatio=(float)oreRequired/totalRequired; - float clayRatio=(float)clayRequired/totalRequired; - float obsidianRatio=(float)obsidianRequired/totalRequired; - float geodeRatio=(float)1/totalRequired; +std::string prioToName(Priority p){ + switch(p){ + case OREROBOT:{ + return "Ore Robot"; + }break; + case CLAYROBOT:{ + return "Clay Robot"; + }break; + case OBSIDIANROBOT:{ + return "Obsidian Robot"; + }break; + } +} - float orePct=0; - float clayPct=0; - float obsidianPct=0; - float geodePct=0; +std::string bestHistory=""; - for (int i=0;i<24;i++){ +void runSimulation(Blueprint print, int minute, int ore, int clay, int obsidian, int geodes, int oreRobots, int clayRobots, int obsidianRobots, int geodeRobots, int&bestGeodes, std::string history){ + for (;minute<32;minute++){ //Find out total robots needed for one geode robot. //Geode: 2ore:19obsidian //Obsidian 4ore:7clay //Clay 4ore //Ore 4ore - std::cout<<"Minute "<=print.geodeRobotCost1&&obsidian>=print.geodeRobotCost2){ + runSimulation(print,minute+1,ore-print.geodeRobotCost1+oreRobots,clay+clayRobots,obsidian-print.geodeRobotCost2+obsidianRobots,geodes+geodeRobots,oreRobots,clayRobots,obsidianRobots,geodeRobots+1,bestGeodes,history+"->GEO"); + } else + if (ore>=print.obsidianRobotCost1&&clay>=print.obsidianRobotCost2){ + runSimulation(print,minute+1,ore-print.obsidianRobotCost1+oreRobots,clay-print.obsidianRobotCost2+clayRobots,obsidian+obsidianRobots,geodes+geodeRobots,oreRobots,clayRobots,obsidianRobots+1,geodeRobots,bestGeodes,history+"->OBS"); + } else { + if(ore>=print.oreRobotCost){ + runSimulation(print,minute+1,ore-print.oreRobotCost+oreRobots,clay+clayRobots,obsidian+obsidianRobots,geodes+geodeRobots,oreRobots+1,clayRobots,obsidianRobots,geodeRobots,bestGeodes,history+"->ORE"); + } + if (ore>=print.clayRobotCost){ + runSimulation(print,minute+1,ore-print.clayRobotCost+oreRobots,clay+clayRobots,obsidian+obsidianRobots,geodes+geodeRobots,oreRobots,clayRobots+1,obsidianRobots,geodeRobots,bestGeodes,history+"->CLA"); + } + } + ore+=oreRobots; clay+=clayRobots; obsidian+=obsidianRobots; geodes+=geodeRobots; - if (oreRobots>0){ - std::cout<<"Collected "<0){ - std::cout<<"Collected "<0){ - std::cout<<"Collected "<0){ - std::cout<<"Collected "<=print.geodeRobotCost1&&obsidian>=print.geodeRobotCost2&&geodePct=print.obsidianRobotCost1&&clay>=print.obsidianRobotCost2&&obsidianPct=print.oreRobotCost&&orePct=print.clayRobotCost&&clayPctbestGeodes){ + bestGeodes=geodes; + bestHistory=history; } - return geodes; } int main() @@ -147,9 +116,15 @@ int main() } } int sum=0; - for (int i=0;i