This commit is contained in:
2023-11-30 22:36:04 +01:00
parent 3fa5a03fb2
commit b8bacd133b
75 changed files with 8610 additions and 0 deletions

2
2021/06/build/fish.js Normal file
View File

@ -0,0 +1,2 @@
"use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2Zpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9

1
2021/06/build/input Normal file
View File

@ -0,0 +1 @@
2,5,2,3,5,3,5,5,4,2,1,5,5,5,5,1,2,5,1,1,1,1,1,5,5,1,5,4,3,3,1,2,4,2,4,5,4,5,5,5,4,4,1,3,5,1,2,2,4,2,1,1,2,1,1,4,2,1,2,1,2,1,3,3,3,5,1,1,1,3,4,4,1,3,1,5,5,1,5,3,1,5,2,2,2,2,1,1,1,1,3,3,3,1,4,3,5,3,5,5,1,4,4,2,5,1,5,5,4,5,5,1,5,4,4,1,3,4,1,2,3,2,5,1,3,1,5,5,2,2,2,1,3,3,1,1,1,4,2,5,1,2,4,4,2,5,1,1,3,5,4,2,1,2,5,4,1,5,5,2,4,3,5,2,4,1,4,3,5,5,3,1,5,1,3,5,1,1,1,4,2,4,4,1,1,1,1,1,3,4,5,2,3,4,5,1,4,1,2,3,4,2,1,4,4,2,1,5,3,4,1,1,2,2,1,5,5,2,5,1,4,4,2,1,3,1,5,5,1,4,2,2,1,1,1,5,1,3,4,1,3,3,5,3,5,5,3,1,4,4,1,1,1,3,3,2,3,1,1,1,5,4,2,5,3,5,4,4,5,2,3,2,5,2,1,1,1,2,1,5,3,5,1,4,1,2,1,5,3,5,2,1,3,1,2,4,5,3,4,3

69
2021/06/build/main.js Normal file
View File

@ -0,0 +1,69 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = require("fs");
const process_1 = require("process");
class LanternFish {
constructor(_days) {
this.isNew = false;
this.justBirthed = false;
this.days = _days;
this.isNew = true;
this.justBirthed = false;
}
eligibileForNewFish() {
return this.days == 0;
}
passDay() {
if (this.isNew) {
this.isNew = false;
return;
}
if (this.justBirthed) {
this.justBirthed = false;
return;
}
this.days--;
}
createNew() {
this.days = 6;
this.justBirthed = true;
return new LanternFish(8);
}
}
function createBaseFishPopulation(baseDays) {
const fish = baseDays.map(x => new LanternFish(x));
fish.map(x => x.isNew = false);
return fish;
}
function simulateDay(fish) {
const newFish = fish.filter(x => x.eligibileForNewFish()).map(x => x.createNew());
const fishesToHandle = [...fish, ...newFish];
fishesToHandle.forEach(x => x.passDay());
return fishesToHandle;
}
function iterateOverGivenDaySpan(days, fish) {
for (let i = 0; i < days; i++) {
fish = simulateDay(fish);
console.log(`Day ${i + 1}|Fishes: ${fish.length}`);
}
return fish;
}
function printAllFishDays(fish) {
return fish.days.toString();
}
function main() {
console.log(JSON.stringify(process_1.argv));
if (process_1.argv[2] && process_1.argv[2] != "") {
const values = (0, fs_1.readFileSync)(process_1.argv[2], "utf8");
const inputs = values.replace('\n', '').split(',').map(x => parseInt(x));
let fish = createBaseFishPopulation(inputs);
fish = iterateOverGivenDaySpan(256, fish);
console.log(`Fishes ${fish.length}`);
}
else {
console.log("No filename");
(0, process_1.exit)();
}
}
main();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQkFBaUM7QUFDakMscUNBQW9DO0FBRXBDLE1BQU0sV0FBVztJQUloQixZQUFZLEtBQWE7UUFGekIsVUFBSyxHQUFZLEtBQUssQ0FBQTtRQUN0QixnQkFBVyxHQUFZLEtBQUssQ0FBQTtRQUUzQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtJQUN6QixDQUFDO0lBQ0QsbUJBQW1CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUE7SUFDdEIsQ0FBQztJQUNELE9BQU87UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtZQUNsQixPQUFNO1NBQ047UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7WUFDeEIsT0FBTTtTQUNOO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ1osQ0FBQztJQUNELFNBQVM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQTtRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLE9BQU8sSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDMUIsQ0FBQztDQUNEO0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxRQUFrQjtJQUNuRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQTtJQUM5QixPQUFPLElBQUksQ0FBQTtBQUNaLENBQUM7QUFDRCxTQUFTLFdBQVcsQ0FBQyxJQUFtQjtJQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUNqRixNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUE7SUFDNUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ3hDLE9BQU8sY0FBYyxDQUFBO0FBQ3RCLENBQUM7QUFDRCxTQUFTLHVCQUF1QixDQUFDLElBQVksRUFBRSxJQUFtQjtJQUNqRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzlCLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7S0FDbEQ7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNaLENBQUM7QUFDRCxTQUFTLGdCQUFnQixDQUFDLElBQWlCO0lBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtBQUM1QixDQUFDO0FBQ0QsU0FBUyxJQUFJO0lBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQUksQ0FBQyxDQUFDLENBQUE7SUFDakMsSUFBSSxjQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFBLGlCQUFZLEVBQUMsY0FBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4RSxJQUFJLElBQUksR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUUzQyxJQUFJLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtLQUNwQztTQUFNO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxQixJQUFBLGNBQUksR0FBRSxDQUFBO0tBQ047QUFDRixDQUFDO0FBQ0QsSUFBSSxFQUFFLENBQUEifQ==

1
2021/06/build/testinput Normal file
View File

@ -0,0 +1 @@
3,4,3,1,2